/*!
 * Bootstrap v5.0.0 (https://getbootstrap.com/)
 * Copyright 2011-2021 The Bootstrap Authors
 * Copyright 2011-2021 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
 

 
 *,*::before,*::after{
    box-sizing:border-box
}
    
/*Media Query for Reduced Motion Preference*/
@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: smooth;
    }
}

/*Body Styling*/
body {
    margin: 0;
    overflow-x:hidden;
    font-family: "Rubik", sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #6B6A75;
    background-color: #fff;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}

/*Horizontal Rule (<hr>) Styling*/
hr {
    margin:1rem 0;
    color:inherit;
    background-color:currentColor;
    border:0;opacity:.25
}

hr:not([size]){
    height:1px
}

/*Global Headings (h1 to h6) Styling*/
h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{
    margin-top:0;
    margin-bottom:.5rem;
    font-family:"Nunito",sans-serif;
    font-weight:500;
    line-height:1.2;
    color:#091E3E
}

/*Responsive and Static Heading Sizes*/
    /*heading 1*/
    h1, .h1 {
        font-size: calc(1.375rem + 1.5vw);
    }
    @media (min-width: 1200px) {
        h1, .h1 {
            font-size: 2.5rem;
        }
    }

    /*heading 2*/
    h2, .h2 {
        font-size: calc(1.325rem + .9vw);
    }
    @media (min-width: 1200px) {
        h2, .h2 {
            font-size: 2rem;
        }
    }

    /*heading 3*/
    h3, .h3 {
        font-size: calc(1.3rem + .6vw);
    }
    @media (min-width: 1200px) {
        h3, .h3 {
            font-size: 1.75rem;
        }
    }

    /*heading 4*/
    h4, .h4 {
        font-size: calc(1.275rem + .3vw);
    }


/*Headings (h4, h5, h6) Styling*/
@media (min-width: 1200px) {
    h4, .h4 {
        font-size: 1.5rem;
    }
}
h5, .h5 {
    font-size: 1.25rem;
}
h6, .h6 {
    font-size: 1rem;
}

/*Paragraph (p) Styling*/
p {
    margin-top: 0;
    margin-bottom: 1rem;
}

/*Abbreviations (<abbr>) Styling*/
abbr[title], abbr[data-bs-original-title] {
    text-decoration: underline dotted;
    cursor: help;
    text-decoration-skip-ink: none;
}

/*Address (<address>) Styling*/
address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit;
}

/*Ordered (<ol>) and Unordered Lists (<ul>)*/
ol, ul {
    padding-left: 2rem;
}
ol, ul, dl {
    margin-top: 0;
    margin-bottom: 1rem;
}


/*Nested Lists (<ol> <ol>, <ul> <ul>, <ol> <ul>, <ul> <ol>)*/
ol ol, ul ul, ol ul, ul ol {
    margin-bottom: 0;
}

/*Description List Terms (<dt>)*/
dt {
    font-weight: 700;
}

/*Description List Definitions (<dd>)*/
dd {
    margin-bottom: .5rem;
    margin-left: 0;
}

/*Blockquotes (<blockquote>)*/
blockquote {
    margin: 0 0 1rem;
}

/* Bold Text (<b>, <strong>)*/
b, strong {
    font-weight: bolder;
}

/*Small Text (<small>, .small)*/
small, .small {
    font-size: .875em;
}


/*Highlighted Text (<mark>, .mark)*/
mark, .mark {
    padding: .2em;
    background-color: #fcf8e3;
}

/*Subscript (<sub>) and Superscript (<sup>)*/
sub, sup {
    position: relative;
    font-size: .75em;
    line-height: 0;
    vertical-align: baseline;
}
sub {
    bottom: -.25em;
}
sup {
    top: -.5em;
}

/*Links (<a>)*/
a {
    color: #06A3DA;
    text-decoration: none;
}
a:hover {
    color: #0582ae;
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none;
}

/*Monospace Text (<pre>, <code>, <kbd>, <samp>)*/
pre, code, kbd, samp {
    font-family: var(--bs-font-monospace);
    font-size: 1em;
    direction: ltr; /* rtl:ignore */
    unicode-bidi: bidi-override;
}

/*<pre> (Preformatted Text)*/
pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    font-size: .875em;
}

/*<pre> <code> (Code Inside Preformatted Text)*/
pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal;
}

/*<code> (Inline Code)*/
code {
    font-size: .875em;
    color: #d63384;
    word-wrap: break-word;
}

/*<a> > <code> (Code Inside Links)*/
a > code {
    color: inherit;
}

/*<kbd> (Keyboard Input)*/
kbd {
    padding: .2rem .4rem;
    font-size: .875em;
    color: #fff;
    background-color: #212529;
    border-radius: .2rem;
}

/*Nested <kbd>*/
kbd kbd {
    padding: 0;
    font-size: 1em;
    font-weight: 700;
}

/*<figure> (Figure Element)*/
figure {
    margin: 0 0 1rem;
}

/* Images and SVGs (img, svg)*/
img, svg {
    vertical-align: middle;
}

/*Tables*/
table {
    caption-side: bottom;
    border-collapse: collapse;
}

/*Table Captions (caption)*/
caption {
    padding-top: .5rem;
    padding-bottom: .5rem;
    color: #6c757d;
    text-align: left;
}

/*Table Headers (th)*/
th {
    text-align: inherit;
    text-align: -webkit-match-parent;
}

/*Table Elements (thead, tbody, tfoot, tr, td, th)*/
thead, tbody, tfoot, tr, td, th {
    border-color: inherit;
    border-style: solid;
    border-width: 0;
}

/*Labels (label)*/
label {
    display: inline-block;
}

/*Form Controls */
input, button, select, optgroup, textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

button, select {
    text-transform: none;
}

/*Buttons*/
    button {
        border-radius: 0;
    }
    button:focus:not(:focus-visible) {
        outline: 0;
    }

    /*button type*/
    button, [type="button"], [type="reset"], [type="submit"] {
        -webkit-appearance: button;
    }
    button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled) {
        cursor: pointer;
    }

/*Accessibility Roles ([role="button"])*/
[role="button"] {
    cursor: pointer;
}


/*Select Elements*/
    select {
        word-wrap: normal;
    }
    select:disabled {
        opacity: 1;
    }

/*Calendar Picker for Inputs with Lists*/
[list]::-webkit-calendar-picker-indicator {
    display: none;
}

/*Focus Inner*/
::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

/*Textareas*/
textarea {
    resize: vertical;
}

/*Fieldsets*/
fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

/*Legends (<legend>)*/
    legend {
        float: left;
        width: 100%;
        padding: 0;
        margin-bottom: .5rem;
        font-size: calc(1.275rem + .3vw);
        line-height: inherit;
    }
    /*legends styling*/
    @media (min-width: 1200px) {
        legend {
            font-size: 1.5rem;
        }
    }
    legend + * {
        clear: left;
    }


/*Date/Time Input Styling*/
::-webkit-datetime-edit-fields-wrapper, 
::-webkit-datetime-edit-text, 
::-webkit-datetime-edit-minute, 
::-webkit-datetime-edit-hour-field, 
::-webkit-datetime-edit-day-field, 
::-webkit-datetime-edit-month-field, 
::-webkit-datetime-edit-year-field {
    padding: 0;
}

/*Search Input Styling*/
[type="search"] {
    outline-offset: -2px;
    -webkit-appearance: textfield;
}
::-webkit-search-decoration {
    -webkit-appearance: none;
}

/*File Upload Button Customization*/
::file-selector-button, 
::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button;
}


/*Other elements*/
output {
    display: inline-block;
}
iframe {
    border: 0;
}
summary {
    display: list-item;
    cursor: pointer;
}
progress {
    vertical-align: baseline;
}
[hidden] {
    display: none !important;
}

/*Typography*/
.lead {
    font-size: 1.25rem;
    font-weight: 300;
}
.display-1 {
    font-size: calc(1.625rem + 4.5vw);
    font-weight: 800;
    line-height: 1.2;
}
@media (min-width: 1200px) {
    .display-1 {
        font-size: 5rem;
    }
}

/*Image & Figure Styling*/
.img-fluid {
    max-width: 100%;
    height: auto;
}
.img-thumbnail {
    padding: .25rem;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 2px;
    max-width: 100%;
    height: auto;
}
.figure {
    display: inline-block;
}
.figure-img {
    margin-bottom: .5rem;
    line-height: 1;
}
.figure-caption {
    font-size: .875em;
    color: #6c757d;
}

/*Containers & Grid System*/
.container, 
.container-fluid, 
.container-sm, 
.container-md, 
.container-lg, 
.container-xl, 
.container-xxl {
    width: 100%;
    padding-right: var(--bs-gutter-x, .75rem);
    padding-left: var(--bs-gutter-x, .75rem);
    margin-right: auto;
    margin-left: auto;
}
@media (min-width: 1200px) {
    .container, .container-sm, .container-md, .container-lg, .container-xl {
        max-width: 1140px;
    }
}
@media (min-width: 1400px) {
    .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
        max-width: 1320px;
    }
}

/*Grid Rows and Columns*/
.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(var(--bs-gutter-y) * -1);
    margin-right: calc(var(--bs-gutter-x) / -2);
    margin-left: calc(var(--bs-gutter-x) / -2);
}

.col {
    flex: 1 0 0%;
}
.row-cols-auto > * {
    flex: 0 0 auto;
    width: auto;
}

/*Responsive Column Classes*/
.row-cols-1 > *, 
.row-cols-2 > *, 
.row-cols-3 > *, 
.row-cols-4 > *, 
.row-cols-5 > *, 
.row-cols-6 > * {
    flex: 0 0 auto;
}
.row-cols-1 > * {
    width: 100%;
}
.row-cols-2 > * {
    width: 50%;
}

/*Gutter Adjustments*/
.g-0, .gx-0 {
    --bs-gutter-x: 0;
}
.g-0, .gy-0 {
    --bs-gutter-y: 0;
}
.g-1, .gx-1 {
    --bs-gutter-x: .25rem;
}
.g-1, .gy-1 {
    --bs-gutter-y: .25rem;
}
.g-2, .gx-2 {
    --bs-gutter-x: .5rem;
}
.g-2, .gy-2 {
    --bs-gutter-y: .5rem;
}
.g-3, .gx-3 {
    --bs-gutter-x: 1rem;
}
.g-3, .gy-3 {
    --bs-gutter-y: 1rem;
}
.g-4, .gx-4 {
    --bs-gutter-x: 1.5rem;
}
.g-4, .gy-4 {
    --bs-gutter-y: 1.5rem;
}
.g-5, .gx-5 {
    --bs-gutter-x: 3rem;
}
.g-5, .gy-5 {
    --bs-gutter-y: 3rem;
}

/********************* Responsive Design Size *********************/

    /* Responsive Design Size 576px*/
        /*Column Classes for Small Screens 576*/
            @media (min-width: 576px) {
                .col-sm {
                    flex: 1 0 0%;
                }
                .col-sm-auto {
                    flex: 0 0 auto;
                    width: auto;
                }
                .col-sm-1 { flex: 0 0 auto; width: 8.33333%; }
                .col-sm-2 { flex: 0 0 auto; width: 16.66667%; }
                .col-sm-3 { flex: 0 0 auto; width: 25%; }
                .col-sm-4 { flex: 0 0 auto; width: 33.33333%; }
                .col-sm-5 { flex: 0 0 auto; width: 41.66667%; }
                .col-sm-6 { flex: 0 0 auto; width: 50%; }
                .col-sm-7 { flex: 0 0 auto; width: 58.33333%; }
                .col-sm-8 { flex: 0 0 auto; width: 66.66667%; }
                .col-sm-9 { flex: 0 0 auto; width: 75%; }
                .col-sm-10 { flex: 0 0 auto; width: 83.33333%; }
                .col-sm-11 { flex: 0 0 auto; width: 91.66667%; }
                .col-sm-12 { flex: 0 0 auto; width: 100%; }
            }

            /*Offset Classes for Small Screens*/
            .offset-sm-0 { margin-left: 0; }
            .offset-sm-1 { margin-left: 8.33333%; }
            .offset-sm-2 { margin-left: 16.66667%; }
            .offset-sm-3 { margin-left: 25%; }
            .offset-sm-4 { margin-left: 33.33333%; }
            .offset-sm-5 { margin-left: 41.66667%; }
            .offset-sm-6 { margin-left: 50%; }
            .offset-sm-7 { margin-left: 58.33333%; }
            .offset-sm-8 { margin-left: 66.66667%; }
            .offset-sm-9 { margin-left: 75%; }
            .offset-sm-10 { margin-left: 83.33333%; }
            .offset-sm-11 { margin-left: 91.66667%; }

            /*Row Columns for Small Screens*/
            .row-cols-sm-auto > * { flex: 0 0 auto; width: auto; }
            .row-cols-sm-1 > * { flex: 0 0 auto; width: 100%; }
            .row-cols-sm-2 > * { flex: 0 0 auto; width: 50%; }
            .row-cols-sm-3 > * { flex: 0 0 auto; width: 33.33333%; }
            .row-cols-sm-4 > * { flex: 0 0 auto; width: 25%; }
            .row-cols-sm-5 > * { flex: 0 0 auto; width: 20%; }
            .row-cols-sm-6 > * { flex: 0 0 auto; width: 16.66667%; }

            /*Gutter Utilities for Small Screens*/
            .g-sm-0, .gx-sm-0 { --bs-gutter-x: 0; }
            .g-sm-0, .gy-sm-0 { --bs-gutter-y: 0; }
            .g-sm-1, .gx-sm-1 { --bs-gutter-x: .25rem; }
            .g-sm-1, .gy-sm-1 { --bs-gutter-y: .25rem; }
            .g-sm-2, .gx-sm-2 { --bs-gutter-x: .5rem; }
            .g-sm-2, .gy-sm-2 { --bs-gutter-y: .5rem; }
            .g-sm-3, .gx-sm-3 { --bs-gutter-x: 1rem; }
            .g-sm-3, .gy-sm-3 { --bs-gutter-y: 1rem; }
            .g-sm-4, .gx-sm-4 { --bs-gutter-x: 1.5rem; }
            .g-sm-4, .gy-sm-4 { --bs-gutter-y: 1.5rem; }
            .g-sm-5, .gx-sm-5 { --bs-gutter-x: 3rem; }
            .g-sm-5, .gy-sm-5 { --bs-gutter-y: 3rem; }


    /* Responsive Design Size 768px*/
        /*Column Classes for Medium Screens 768px*/
        @media (min-width: 768px) {
            .col-md {
                flex: 1 0 0%;
            }
            .col-md-auto {
                flex: 0 0 auto;
                width: auto;
            }
            .col-md-1 { flex: 0 0 auto; width: 8.33333%; }
            .col-md-2 { flex: 0 0 auto; width: 16.66667%; }
            .col-md-3 { flex: 0 0 auto; width: 25%; }
            .col-md-4 { flex: 0 0 auto; width: 33.33333%; }
            .col-md-5 { flex: 0 0 auto; width: 41.66667%; }
            .col-md-6 { flex: 0 0 auto; width: 50%; }
            .col-md-7 { flex: 0 0 auto; width: 58.33333%; }
            .col-md-8 { flex: 0 0 auto; width: 66.66667%; }
            .col-md-9 { flex: 0 0 auto; width: 75%; }
            .col-md-10 { flex: 0 0 auto; width: 83.33333%; }
            .col-md-11 { flex: 0 0 auto; width: 91.66667%; }
            .col-md-12 { flex: 0 0 auto; width: 100%; }
        }

        /*Offset Classes for Medium Screens*/
        .offset-md-0 { margin-left: 0; }
        .offset-md-1 { margin-left: 8.33333%; }
        .offset-md-2 { margin-left: 16.66667%; }
        .offset-md-3 { margin-left: 25%; }
        .offset-md-4 { margin-left: 33.33333%; }
        .offset-md-5 { margin-left: 41.66667%; }
        .offset-md-6 { margin-left: 50%; }
        .offset-md-7 { margin-left: 58.33333%; }
        .offset-md-8 { margin-left: 66.66667%; }
        .offset-md-9 { margin-left: 75%; }
        .offset-md-10 { margin-left: 83.33333%; }
        .offset-md-11 { margin-left: 91.66667%; }

        /*Row Columns for Medium Screens*/
        .row-cols-md-auto > * { flex: 0 0 auto; width: auto; }
        .row-cols-md-1 > * { flex: 0 0 auto; width: 100%; }
        .row-cols-md-2 > * { flex: 0 0 auto; width: 50%; }
        .row-cols-md-3 > * { flex: 0 0 auto; width: 33.33333%; }
        .row-cols-md-4 > * { flex: 0 0 auto; width: 25%; }
        .row-cols-md-5 > * { flex: 0 0 auto; width: 20%; }
        .row-cols-md-6 > * { flex: 0 0 auto; width: 16.66667%; }

        /*Gutter Utilities for Medium Screens*/
        .g-md-0, .gx-md-0 { --bs-gutter-x: 0; }
        .g-md-0, .gy-md-0 { --bs-gutter-y: 0; }
        .g-md-1, .gx-md-1 { --bs-gutter-x: .25rem; }
        .g-md-1, .gy-md-1 { --bs-gutter-y: .25rem; }
        .g-md-2, .gx-md-2 { --bs-gutter-x: .5rem; }
        .g-md-2, .gy-md-2 { --bs-gutter-y: .5rem; }
        .g-md-3, .gx-md-3 { --bs-gutter-x: 1rem; }
        .g-md-3, .gy-md-3 { --bs-gutter-y: 1rem; }
        .g-md-4, .gx-md-4 { --bs-gutter-x: 1.5rem; }
        .g-md-4, .gy-md-4 { --bs-gutter-y: 1.5rem; }
        .g-md-5, .gx-md-5 { --bs-gutter-x: 3rem; }
        .g-md-5, .gy-md-5 { --bs-gutter-y: 3rem; }

    /* Responsive Design Size 992px*/
        /*Column Classes for Large Screens*/
        @media (min-width: 992px) {
            .col-lg {
                flex: 1 0 0%;
            }
            .col-lg-auto {
                flex: 0 0 auto;
                width: auto;
            }
            .col-lg-1 { flex: 0 0 auto; width: 8.33333%; }
            .col-lg-2 { flex: 0 0 auto; width: 16.66667%; }
            .col-lg-3 { flex: 0 0 auto; width: 25%; }
            .col-lg-4 { flex: 0 0 auto; width: 33.33333%; }
            .col-lg-5 { flex: 0 0 auto; width: 41.66667%; }
            .col-lg-6 { flex: 0 0 auto; width: 50%; }
            .col-lg-7 { flex: 0 0 auto; width: 58.33333%; }
            .col-lg-8 { flex: 0 0 auto; width: 66.66667%; }
            .col-lg-9 { flex: 0 0 auto; width: 75%; }
            .col-lg-10 { flex: 0 0 auto; width: 83.33333%; }
            .col-lg-11 { flex: 0 0 auto; width: 91.66667%; }
            .col-lg-12 { flex: 0 0 auto; width: 100%; }
        }

        /*Offset Classes for Large Screens*/
        .offset-lg-0 { margin-left: 0; }
        .offset-lg-1 { margin-left: 8.33333%; }
        .offset-lg-2 { margin-left: 16.66667%; }
        .offset-lg-3 { margin-left: 25%; }
        .offset-lg-4 { margin-left: 33.33333%; }
        .offset-lg-5 { margin-left: 41.66667%; }
        .offset-lg-6 { margin-left: 50%; }
        .offset-lg-7 { margin-left: 58.33333%; }
        .offset-lg-8 { margin-left: 66.66667%; }
        .offset-lg-9 { margin-left: 75%; }
        .offset-lg-10 { margin-left: 83.33333%; }
        .offset-lg-11 { margin-left: 91.66667%; }

        /*Row Columns for Large Screens*/
        .row-cols-lg-auto > * { flex: 0 0 auto; width: auto; }
        .row-cols-lg-1 > * { flex: 0 0 auto; width: 100%; }
        .row-cols-lg-2 > * { flex: 0 0 auto; width: 50%; }
        .row-cols-lg-3 > * { flex: 0 0 auto; width: 33.33333%; }
        .row-cols-lg-4 > * { flex: 0 0 auto; width: 25%; }
        .row-cols-lg-5 > * { flex: 0 0 auto; width: 20%; }
        .row-cols-lg-6 > * { flex: 0 0 auto; width: 16.66667%; }

        /*Gutter Utilities for Large Screens*/
        .g-lg-0, .gx-lg-0 { --bs-gutter-x: 0; }
        .g-lg-0, .gy-lg-0 { --bs-gutter-y: 0; }
        .g-lg-1, .gx-lg-1 { --bs-gutter-x: .25rem; }
        .g-lg-1, .gy-lg-1 { --bs-gutter-y: .25rem; }
        .g-lg-2, .gx-lg-2 { --bs-gutter-x: .5rem; }
        .g-lg-2, .gy-lg-2 { --bs-gutter-y: .5rem; }
        .g-lg-3, .gx-lg-3 { --bs-gutter-x: 1rem; }
        .g-lg-3, .gy-lg-3 { --bs-gutter-y: 1rem; }
        .g-lg-4, .gx-lg-4 { --bs-gutter-x: 1.5rem; }
        .g-lg-4, .gy-lg-4 { --bs-gutter-y: 1.5rem; }
        .g-lg-5, .gx-lg-5 { --bs-gutter-x: 3rem; }
        .g-lg-5, .gy-lg-5 { --bs-gutter-y: 3rem; }


    /* Responsive Design Size 1200px*/

        /*Column Classes for Extra-Large Screens*/
        @media (min-width: 1200px) {
            .col-xl {
                flex: 1 0 0%;
            }
            .col-xl-auto {
                flex: 0 0 auto;
                width: auto;
            }
            .col-xl-1 { flex: 0 0 auto; width: 8.33333%; }
            .col-xl-2 { flex: 0 0 auto; width: 16.66667%; }
            .col-xl-3 { flex: 0 0 auto; width: 25%; }
            .col-xl-4 { flex: 0 0 auto; width: 33.33333%; }
            .col-xl-5 { flex: 0 0 auto; width: 41.66667%; }
            .col-xl-6 { flex: 0 0 auto; width: 50%; }
            .col-xl-7 { flex: 0 0 auto; width: 58.33333%; }
            .col-xl-8 { flex: 0 0 auto; width: 66.66667%; }
            .col-xl-9 { flex: 0 0 auto; width: 75%; }
            .col-xl-10 { flex: 0 0 auto; width: 83.33333%; }
            .col-xl-11 { flex: 0 0 auto; width: 91.66667%; }
            .col-xl-12 { flex: 0 0 auto; width: 100%; }
        }

        /*Offset Classes for Extra-Large Screens*/
        .offset-xl-0 { margin-left: 0; }
        .offset-xl-1 { margin-left: 8.33333%; }
        .offset-xl-2 { margin-left: 16.66667%; }
        .offset-xl-3 { margin-left: 25%; }
        .offset-xl-4 { margin-left: 33.33333%; }
        .offset-xl-5 { margin-left: 41.66667%; }
        .offset-xl-6 { margin-left: 50%; }
        .offset-xl-7 { margin-left: 58.33333%; }
        .offset-xl-8 { margin-left: 66.66667%; }
        .offset-xl-9 { margin-left: 75%; }
        .offset-xl-10 { margin-left: 83.33333%; }
        .offset-xl-11 { margin-left: 91.66667%; }

        /*Row Columns for Extra-Large Screens*/
        .row-cols-xl-auto > * { flex: 0 0 auto; width: auto; }
        .row-cols-xl-1 > * { flex: 0 0 auto; width: 100%; }
        .row-cols-xl-2 > * { flex: 0 0 auto; width: 50%; }
        .row-cols-xl-3 > * { flex: 0 0 auto; width: 33.33333%; }
        .row-cols-xl-4 > * { flex: 0 0 auto; width: 25%; }
        .row-cols-xl-5 > * { flex: 0 0 auto; width: 20%; }
        .row-cols-xl-6 > * { flex: 0 0 auto; width: 16.66667%; }

        /*Gutter Utilities for Extra-Large Screens*/
        .g-xl-0, .gx-xl-0 { --bs-gutter-x: 0; }
        .g-xl-0, .gy-xl-0 { --bs-gutter-y: 0; }
        .g-xl-1, .gx-xl-1 { --bs-gutter-x: .25rem; }
        .g-xl-1, .gy-xl-1 { --bs-gutter-y: .25rem; }
        .g-xl-2, .gx-xl-2 { --bs-gutter-x: .5rem; }
        .g-xl-2, .gy-xl-2 { --bs-gutter-y: .5rem; }
        .g-xl-3, .gx-xl-3 { --bs-gutter-x: 1rem; }
        .g-xl-3, .gy-xl-3 { --bs-gutter-y: 1rem; }
        .g-xl-4, .gx-xl-4 { --bs-gutter-x: 1.5rem; }
        .g-xl-4, .gy-xl-4 { --bs-gutter-y: 1.5rem; }
        .g-xl-5, .gx-xl-5 { --bs-gutter-x: 3rem; }
        .g-xl-5, .gy-xl-5 { --bs-gutter-y: 3rem; }

    /* Responsive Design Size 1400px*/
        /*Column Classes for Extra-Extra-Large Screens (XXL)*/
        @media (min-width: 1400px) {
            .col-xxl {
                flex: 1 0 0%;
            }
            .col-xxl-auto {
                flex: 0 0 auto;
                width: auto;
            }
            .col-xxl-1 { flex: 0 0 auto; width: 8.33333%; }
            .col-xxl-2 { flex: 0 0 auto; width: 16.66667%; }
            .col-xxl-3 { flex: 0 0 auto; width: 25%; }
            .col-xxl-4 { flex: 0 0 auto; width: 33.33333%; }
            .col-xxl-5 { flex: 0 0 auto; width: 41.66667%; }
            .col-xxl-6 { flex: 0 0 auto; width: 50%; }
            .col-xxl-7 { flex: 0 0 auto; width: 58.33333%; }
            .col-xxl-8 { flex: 0 0 auto; width: 66.66667%; }
            .col-xxl-9 { flex: 0 0 auto; width: 75%; }
            .col-xxl-10 { flex: 0 0 auto; width: 83.33333%; }
            .col-xxl-11 { flex: 0 0 auto; width: 91.66667%; }
            .col-xxl-12 { flex: 0 0 auto; width: 100%; }
        }

        /*Offset Classes for Extra-Extra-Large Screens (XXL)*/
        .offset-xxl-0 { margin-left: 0; }
        .offset-xxl-1 { margin-left: 8.33333%; }
        .offset-xxl-2 { margin-left: 16.66667%; }
        .offset-xxl-3 { margin-left: 25%; }
        .offset-xxl-4 { margin-left: 33.33333%; }
        .offset-xxl-5 { margin-left: 41.66667%; }
        .offset-xxl-6 { margin-left: 50%; }
        .offset-xxl-7 { margin-left: 58.33333%; }
        .offset-xxl-8 { margin-left: 66.66667%; }
        .offset-xxl-9 { margin-left: 75%; }
        .offset-xxl-10 { margin-left: 83.33333%; }
        .offset-xxl-11 { margin-left: 91.66667%; }

        /* Row Column Classes for Extra-Extra-Large Screens (XXL)*/
        .row-cols-xxl-auto > * { flex: 0 0 auto; width: auto; }
        .row-cols-xxl-1 > * { flex: 0 0 auto; width: 100%; }
        .row-cols-xxl-2 > * { flex: 0 0 auto; width: 50%; }
        .row-cols-xxl-3 > * { flex: 0 0 auto; width: 33.33333%; }
        .row-cols-xxl-4 > * { flex: 0 0 auto; width: 25%; }
        .row-cols-xxl-5 > * { flex: 0 0 auto; width: 20%; }
        .row-cols-xxl-6 > * { flex: 0 0 auto; width: 16.66667%; }

        /*Gutter Classes for Extra-Extra-Large Screens (XXL)*/
        .g-xxl-0, .gx-xxl-0 { --bs-gutter-x: 0; }
        .g-xxl-0, .gy-xxl-0 { --bs-gutter-y: 0; }
        .g-xxl-1, .gx-xxl-1 { --bs-gutter-x: .25rem; }
        .g-xxl-1, .gy-xxl-1 { --bs-gutter-y: .25rem; }
        .g-xxl-2, .gx-xxl-2 { --bs-gutter-x: .5rem; }
        .g-xxl-2, .gy-xxl-2 { --bs-gutter-y: .5rem; }
        .g-xxl-3, .gx-xxl-3 { --bs-gutter-x: 1rem; }
        .g-xxl-3, .gy-xxl-3 { --bs-gutter-y: 1rem; }
        .g-xxl-4, .gx-xxl-4 { --bs-gutter-x: 1.5rem; }
        .g-xxl-4, .gy-xxl-4 { --bs-gutter-y: 1.5rem; }
        .g-xxl-5, .gx-xxl-5 { --bs-gutter-x: 3rem; }
        .g-xxl-5, .gy-xxl-5 { --bs-gutter-y: 3rem; }


/*Table Base Styles*/
.table {
    --bs-table-bg: rgba(0,0,0,0); /* Transparent background */
    --bs-table-striped-color: #6B6A75; /* Color for text in striped rows */
    --bs-table-striped-bg: rgba(0,0,0,0.05); /* Light background for striped rows */
    --bs-table-active-color: #6B6A75; /* Color for active row text */
    --bs-table-active-bg: rgba(0,0,0,0.1); /* Background color for active rows */
    --bs-table-hover-color: #6B6A75; /* Color for hover row text */
    --bs-table-hover-bg: rgba(0,0,0,0.075); /* Background color for hover rows */
    
    width: 100%; /* Full width table */
    margin-bottom: 1rem; /* Space below the table */
    color: #6B6A75; /* Default text color for table */
    vertical-align: top; /* Aligns table content at the top */
    border-color: #dee2e6; /* Border color */
}

/*Padding and Background for Cells*/
.table>:not(caption)>*>* {
    padding: .5rem .5rem; /* Padding inside table cells */
    background-color: var(--bs-table-bg); /* Transparent background */
    border-bottom-width: 1px; /* 1px bottom border for each cell */
    box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); /* Background color effect on hover or stripe */
}

/*Table Body and Header Alignment*/
.table>tbody {
    vertical-align: inherit;
}
.table>thead {
    vertical-align: bottom; /* Aligns table header to the bottom */
}

/*Borders for Table Rows*/
.table>:not(:last-child)>:last-child>* {
    border-bottom-color: currentColor;
}

/*Additional Classes*/
.table-sm>:not(caption)>*>* {
    padding: .25rem .25rem; /* Smaller padding for compact table */
}
/********/
.table-bordered>:not(caption)>* {
    border-width: 1px 0; /* 1px borders between rows */
}
.table-bordered>:not(caption)>*>* {
    border-width: 0 1px; /* 1px borders between columns */
}
/********/
.table-borderless>:not(caption)>*>* {
    border-bottom-width: 0; /* Removes the bottom border */
}

/*Striped Table Rows*/
.table-striped>tbody>tr:nth-of-type(odd) {
    --bs-table-accent-bg: var(--bs-table-striped-bg);
    color: var(--bs-table-striped-color);
}

/*Table Active and Hover States*/
.table-active {
    --bs-table-accent-bg: var(--bs-table-active-bg); /* Active background */
    color: var(--bs-table-active-color); /* Active text color */
}
.table-hover > tbody > tr:hover {
    --bs-table-accent-bg: var(--bs-table-hover-bg); /* Hover background */
    color: var(--bs-table-hover-color); /* Hover text color */
}

/*Contextual Table Variants*/
.table-primary {
    --bs-table-bg: #cdedf8; /* Background color */
    --bs-table-striped-bg: #c3e1ec; /* Striped row background */
    --bs-table-striped-color: #000; /* Striped row text color */
    --bs-table-active-bg: #b9d5df; /* Active row background */
    --bs-table-active-color: #000; /* Active row text color */
    --bs-table-hover-bg: #bedbe5; /* Hover row background */
    --bs-table-hover-color: #000; /* Hover row text color */
    color: #000; /* Text color */
    border-color: #b9d5df; /* Border color */
}

.table-secondary {
    --bs-table-bg: #d6efdd;
    --bs-table-striped-bg: #cbe3d2;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #c1d7c7;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #c6ddcc;
    --bs-table-hover-color: #000;
    color: #000;
    border-color: #c1d7c7;
}


.table-success {
    --bs-table-bg: #d1e7dd;
    --bs-table-striped-bg: #c7dbd2;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #bcd0c7;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #c1d6cc;
    --bs-table-hover-color: #000;
    color: #000;
    border-color: #bcd0c7;
}


.table-info {
    --bs-table-bg: #cff4fc;
    --bs-table-striped-bg: #c5e8ef;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #badce3;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #bfe2e9;
    --bs-table-hover-color: #000;
    color: #000;
    border-color: #badce3;
}


.table-warning {
    --bs-table-bg: #fff3cd;
    --bs-table-striped-bg: #f2e7c3;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #e6dbb9;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #ece1be;
    --bs-table-hover-color: #000;
    color: #000;
    border-color: #e6dbb9;
}


.table-danger {
    --bs-table-bg: #f8d7da;
    --bs-table-striped-bg: #eccccf;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #dfc2c4;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #e5c7ca;
    --bs-table-hover-color: #000;
    color: #000;
    border-color: #dfc2c4;
}


.table-light {
    --bs-table-bg: #EEF9FF;
    --bs-table-striped-bg: #e2edf2;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #d6e0e6;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #dce6ec;
    --bs-table-hover-color: #000;
    color: #000;
    border-color: #d6e0e6;
}


.table-dark {
    --bs-table-bg: #091E3E; /* Dark blue background */
    --bs-table-striped-bg: #152948; /* Striped row background */
    --bs-table-striped-color: #fff; /* White text on striped rows */
    --bs-table-active-bg: #223551; /* Active row background */
    --bs-table-active-color: #fff; /* Active row text color */
    --bs-table-hover-bg: #1b2f4c; /* Hover row background */
    --bs-table-hover-color: #fff; /* Hover row text color */
    color: #fff; /* White text */
    border-color: #223551; /* Border color */
}


/*Responsive Tables*/
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* Smooth scrolling on touch devices */
}
@media (max-width: 575.98px) {
    .table-responsive-sm {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 767.98px) {
    .table-responsive-md {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 991.98px) {
    .table-responsive-lg {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 1199.98px) {
    .table-responsive-xl {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 1399.98px) {
    .table-responsive-xxl {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/*Form Label Styles*/
.form-label {
    margin-bottom: .5rem;
}

.col-form-label {
    padding-top: calc(.375rem + 1px);
    padding-bottom: calc(.375rem + 1px);
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5;
}

.col-form-label-lg {
    padding-top: calc(.5rem + 1px);
    padding-bottom: calc(.5rem + 1px);
    font-size: 1.25rem;
}

.col-form-label-sm {
    padding-top: calc(.25rem + 1px);
    padding-bottom: calc(.25rem + 1px);
    font-size: .875rem;
}

/*Form Text Styles*/
.form-text {
    margin-top: .25rem;
    font-size: .875em;
    color: #6c757d;
}

/*Form Control Styles*/
.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #6B6A75;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    appearance: none;
    border-radius: 2px;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .form-control {
        transition: none;
    }
}

/*File Input Styling*/
.form-control[type="file"] {
    overflow: hidden;
}

.form-control[type="file"]:not(:disabled):not(:read-only) {
    cursor: pointer;
}

/*Focused Input Styles*/
.form-control:focus {
    color: #6B6A75;
    background-color: #fff;
    border-color: #83d1ed;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(6, 163, 218, 0.25);
}

/*Placeholder Styling*/
.form-control::placeholder {
    color: #6c757d;
    opacity: 1;
}

/*Disabled and Read-Only Input Styles*/
.form-control:disabled,
.form-control:read-only {
    background-color: #e9ecef;
    opacity: 1;
}


/*File Selector Button Styling*/
.form-control::file-selector-button {
    padding: .375rem .75rem;
    margin: -.375rem -.75rem;
    margin-inline-end: .75rem;
    color: #6B6A75;
    background-color: #e9ecef;
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: 1px;
    border-radius: 0;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

/*Reduced Motion for File Selector Button*/
@media (prefers-reduced-motion: reduce) {
    .form-control::file-selector-button {
        transition: none;
    }
}

/*Hover Effects for File Selector Button*/
.form-control:hover:not(:disabled):not(:read-only) ::file-selector-button {
    background-color: #dde0e3;
}


/*WebKit File*/
    /*WebKit File Upload Button Styles*/
    .form-control::-webkit-file-upload-button {
        padding: .375rem .75rem;
        margin: -.375rem -.75rem;
        margin-inline-end: .75rem;
        color: #6B6A75;
        background-color: #e9ecef;
        pointer-events: none;
        border-color: inherit;
        border-style: solid;
        border-width: 0;
        border-inline-end-width: 1px;
        border-radius: 0;
        transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    }

    /*Reduced Motion for WebKit File Upload Button*/
    @media (prefers-reduced-motion: reduce) {
        .form-control::-webkit-file-upload-button {
            transition: none;
        }
    }

    /*Hover Effects for WebKit File Upload Button*/
    .form-control:hover:not(:disabled):not(:read-only)::-webkit-file-upload-button {
        background-color: #dde0e3;
    }
    
/*Plain Text Input Styles*/
.form-control-plaintext {
    display: block;
    width: 100%;
    padding: .375rem 0;
    margin-bottom: 0;
    line-height: 1.5;
    color: #6B6A75;
    background-color: transparent;
    border: solid transparent;
    border-width: 1px 0;
}


/*Plain Text Control Size Modifiers*/
.form-control-plaintext.form-control-sm,
.form-control-plaintext.form-control-lg {
    padding-right: 0;
    padding-left: 0;
}

/*Small Form Control Styles*/
.form-control-sm {
    min-height: calc(1.5em + .5rem + 2px);
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: .2rem;
}


/*Small Form Control File Selector Button*/
.form-control-sm::file-selector-button {
    padding: .25rem .5rem;
    margin: -0.25rem -0.5rem;
    margin-inline-end: 0.5rem;
}

/*WebKit Small File Upload Button*/
.form-control-sm::-webkit-file-upload-button {
    padding: .25rem .5rem;
    margin: -0.25rem -0.5rem;
    margin-inline-end: 0.5rem;
}

/*Large Form Control Styles*/
.form-control-lg {
    min-height: calc(1.5em + 1rem + 2px);
    padding: .5rem 1rem;
    font-size: 1.25rem;
    border-radius: .3rem;
}

/*Large Form Control File Selector Button*/
.form-control-lg::file-selector-button {
    padding: .5rem 1rem;
    margin: -0.5rem -1rem;
    margin-inline-end: 1rem;
}

/*Textarea Control Styles*/
textarea.form-control {
    min-height: calc(1.5em + .75rem + 2px);
}

textarea.form-control-sm {
    min-height: calc(1.5em + .5rem + 2px);
}

textarea.form-control-lg {
    min-height: calc(1.5em + 1rem + 2px);
}

/*Color Picker Control Styles*/
.form-control-color {
    max-width: 3rem;
    height: auto;
    padding: .375rem;
}

.form-control-color:not(:disabled):not(:read-only) {
    cursor: pointer;
}

.form-control-color::-moz-color-swatch {
    height: 1.5em;
    border-radius: 2px;
}

.form-control-color::-webkit-color-swatch {
    height: 1.5em;
    border-radius: 2px;
}

/*Select Input Styles*/
.form-select {
    display: block;
    width: 100%;
    padding: .375rem 2.25rem .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #6B6A75;
}

/* Select Input Styles */
.form-select {
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right .75rem center;
    background-size: 16px 12px;
    border: 1px solid #ced4da;
    border-radius: 2px;
    appearance: none;
}

/* Focus State for Select Input */
.form-select:focus {
    border-color: #83d1ed;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(6, 163, 218, 0.25);
}

/* Styles for Multiple Select Inputs */
.form-select[multiple],
.form-select[size]:not([size="1"]) {
    padding-right: .75rem;
    background-image: none;
}

/* Disabled State for Select Input */
.form-select:disabled {
    background-color: #e9ecef;
}

/* Styles for Select Input with Firefox Focus Ring */
.form-select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #6B6A75;
}

/* Small Select Input Styles */
.form-select-sm {
    padding-top: .25rem;
    padding-bottom: .25rem;
    padding-left: .5rem;
    font-size: .875rem;
}

/* Large Select Input Styles */
.form-select-lg {
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left: 1rem;
    font-size: 1.25rem;
}

/* Form Check Styles */
.form-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: .125rem;
}

/* Form Check Input Styles */
.form-check .form-check-input {
    float: left;
    margin-left: -1.5em;
}

/* General Form Check Input Styles */
.form-check-input {
    width: 1em;
    height: 1em;
    margin-top: .25em;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0, 0, 0, 0.25);
    appearance: none;
    color-adjust: exact;
}

/* Checkbox Styles */
.form-check-input[type="checkbox"] {
    border-radius: .25em;
}

/* Radio Button Styles */
.form-check-input[type="radio"] {
    border-radius: 50%;
}

/* Active State for Form Check Input */
.form-check-input:active {
    filter: brightness(90%);
}

/* Focus State for Form Check Input */
.form-check-input:focus {
    border-color: #83d1ed;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(6, 163, 218, 0.25);
}

/* Checked State for Form Check Input */
.form-check-input:checked {
    background-color: #06A3DA;
    border-color: #06A3DA;
}

/* Checked State for Checkbox Input */
.form-check-input:checked[type="checkbox"] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

/* Checked State for Radio Input */
.form-check-input:checked[type="radio"] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}

/* Indeterminate State for Checkbox Input */
.form-check-input[type="checkbox"]:indeterminate {
    background-color: #06A3DA;
    border-color: #06A3DA;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}

/* Disabled State for Form Check Input */
.form-check-input:disabled {
    pointer-events: none;
    filter: none;
    opacity: .5;
}

/* Disabled Label Styles */
.form-check-input[disabled] ~ .form-check-label,
.form-check-input:disabled ~ .form-check-label {
    opacity: .5;
}

/* Switch Input Styles */
.form-switch {
    padding-left: 2.5em;
}

/* Switch Input Background Image */
.form-switch .form-check-input {
    width: 2em;
    margin-left: -2.5em;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280,0,0,0.25%29'/%3e%3c/svg%3e");
    background-position: left center;
    border-radius: 2em;
    transition: background-position 0.15s ease-in-out;
}

/* Disable Transition for Reduced Motion Preferences */
@media (prefers-reduced-motion: reduce) {
    .form-switch .form-check-input {
        transition: none;
    }
}

/* Focus State for Switch Input */
.form-switch .form-check-input:focus {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2383d1ed'/%3e%3c/svg%3e");
}

/* Checked State for Switch Input */
.form-switch .form-check-input:checked {
    background-position: right center;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

/* Inline Form Check */
.form-check-inline {
    display: inline-block; /* Allows checkboxes to be displayed inline */
    margin-right: 1rem; /* Adds space between inline checkboxes */
}

/* Button Check Styling */
.btn-check {
    position: absolute; /* Position the check input off-screen */
    clip: rect(0, 0, 0, 0); /* Visually hide the input */
    pointer-events: none; /* Prevent interactions */
}

/* Disabled Button Check Styling */
.btn-check[disabled] + .btn,
.btn-check:disabled + .btn {
    pointer-events: none; /* Disable pointer events */
    filter: none; /* No filter */
    opacity: 0.65; /* Reduce opacity for disabled buttons */
}

/* Form Range (Slider) Styling */
.form-range {
    width: 100%; /* Full width */
    height: 1.5rem; /* Slider height */
    padding: 0; /* No padding */
    background-color: transparent; /* Transparent background */
    appearance: none; /* Removes default appearance */
}

/* Focus State for Form Range */
.form-range:focus {
    outline: 0; /* Removes the default outline */
}

/* WebKit Slider Thumb Focus State */
.form-range:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(6, 163, 218, 0.25); /* Custom focus shadow */
}

/* Mozilla Slider Thumb Focus State */
.form-range:focus::-moz-range-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(6, 163, 218, 0.25); /* Custom focus shadow */
}

/* Remove Outer Focus Ring for Mozilla Range Input */
.form-range::-moz-focus-outer {
    border: 0; /* No border for outer focus */
}

/* WebKit Slider Thumb Styles */
.form-range::-webkit-slider-thumb {
    width: 1rem; /* Thumb width */
    height: 1rem; /* Thumb height */
    margin-top: -0.25rem; /* Adjusts position of the thumb */
    background-color: #06A3DA; /* Thumb color */
    border: 0; /* No border */
    border-radius: 1rem; /* Rounded thumb */
    transition: background-color 0.15s ease-in-out, /* Smooth transition for color changes */
                border-color 0.15s ease-in-out,
                box-shadow 0.15s ease-in-out; /* Transition effects */
    appearance: none; /* Removes default appearance */
}

/* Active State for WebKit Slider Thumb */
.form-range::-webkit-slider-thumb:active {
    background-color: #b4e3f4; /* Active thumb color */
}

/* WebKit Slider Track Styles */
.form-range::-webkit-slider-runnable-track {
    width: 100%; /* Full width */
    height: 0.5rem; /* Track height */
    color: transparent; /* Track color */
    cursor: pointer; /* Cursor style */
    background-color: #dee2e6; /* Track background color */
    border-color: transparent; /* No border color */
    border-radius: 1rem; /* Rounded track */
}

/* Mozilla Slider Thumb Styles */
.form-range::-moz-range-thumb {
    width: 1rem; /* Thumb width */
    height: 1rem; /* Thumb height */
    background-color: #06A3DA; /* Thumb color */
    border: 0; /* No border */
    border-radius: 1rem; /* Rounded thumb */
    transition: background-color 0.15s ease-in-out, /* Smooth transition for color changes */
                border-color 0.15s ease-in-out,
                box-shadow 0.15s ease-in-out; /* Transition effects */
    appearance: none; /* Removes default appearance */
}

/* Reduce Motion for WebKit Range Thumb */
@media (prefers-reduced-motion: reduce) {
    .form-range::-webkit-slider-thumb {
        transition: none; /* Disable transition effects */
    }
}

/* Reduce Motion for Mozilla Range Thumb */
@media (prefers-reduced-motion: reduce) {
    .form-range::-moz-range-thumb {
        transition: none; /* Disable transition effects */
    }
}

/* Active State for Mozilla Range Thumb */
.form-range::-moz-range-thumb:active {
    background-color: #b4e3f4; /* Active thumb color */
}

/* Mozilla Range Track Styles */
.form-range::-moz-range-track {
    width: 100%; /* Full width */
    height: 0.5rem; /* Track height */
    color: transparent; /* Track color */
    cursor: pointer; /* Cursor style */
    background-color: #dee2e6; /* Track background color */
    border-color: transparent; /* No border color */
    border-radius: 1rem; /* Rounded track */
}

/* Disabled State for Form Range */
.form-range:disabled {
    pointer-events: none; /* Disable pointer events */
}

/* Disabled State for WebKit Slider Thumb */
.form-range:disabled::-webkit-slider-thumb {
    background-color: #adb5bd; /* Disabled thumb color */
}

/* Disabled State for Mozilla Slider Thumb */
.form-range:disabled::-moz-range-thumb {
    background-color: #adb5bd; /* Disabled thumb color */
}

/* Floating Label Styles */
.form-floating {
    position: relative; /* Positioning context for floating labels */
}

/* Floating Input Styles */
.form-floating > .form-control,
.form-floating > .form-select {
    height: calc(3.5rem + 2px); /* Height for inputs */
    padding: 1rem 0.75rem; /* Padding for inputs */
}

/* Floating Label Styles */
.form-floating > label {
    position: absolute; /* Absolute positioning */
    top: 0; /* Align to the top */
    left: 0; /* Align to the left */
    height: 100%; /* Full height */
    padding: 1rem 0.75rem; /* Padding for label */
    pointer-events: none; /* Disable pointer events on label */
    border: 1px solid transparent; /* Transparent border */
    transform-origin: 0 0; /* Transform origin */
    transition: opacity 0.1s ease-in-out, /* Smooth transition for opacity */
                transform 0.1s ease-in-out; /* Smooth transition for transform */
}

/* Reduce Motion for Floating Label */
@media (prefers-reduced-motion: reduce) {
    .form-floating > label {
        transition: none; /* Disable transition effects */
    }
}

/* Placeholder Styles for Floating Control */
.form-floating > .form-control::placeholder {
    color: transparent; /* Hide placeholder color */
}

/* Focus State and Placeholder Not Shown */
.form-floating > .form-control:focus,
.form-floating > .form-control:not(:placeholder-shown) {
    padding-top: 1.625rem; /* Adjust padding when focused */
    padding-bottom: 0.625rem; /* Adjust padding when focused */
}

/* Autofill Styles for WebKit */
.form-floating > .form-control:-webkit-autofill {
    padding-top: 1.625rem; /* Adjust padding for autofill */
    padding-bottom: 0.625rem; /* Adjust padding for autofill */
}

/* Floating Select Styles */
.form-floating > .form-select {
    padding-top: 1.625rem; /* Adjust padding for select */
    padding-bottom: 0.625rem; /* Adjust padding for select */
}

/* Floating Label Adjustment */
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
    opacity: 0.65; /* Reduce opacity */
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); /* Move label up */
}

/* Autofill Adjustment for Floating Label */
.form-floating > .form-control:-webkit-autofill ~ label {
    opacity: 0.65; /* Reduce opacity */
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); /* Move label up */
}

/* Input Group Styles */
.input-group {
    position: relative; /* Positioning context for input group */
    display: flex; /* Flexbox for layout */
    flex-wrap: wrap; /* Allow wrapping */
    align-items: stretch; /* Stretch items */
    width: 100%; /* Full width */
}

/* Input Group Control Styles */
.input-group > .form-control,
.input-group > .form-select {
    position: relative; /* Relative positioning */
    flex: 1 1 auto; /* Flexible item */
    width: 1%; /* Width auto */
    min-width: 0; /* Allow shrinking */
}

/* Focus State for Input Group Control */
.input-group > .form-control:focus,
.input-group > .form-select:focus {
    z-index: 3; /* Layering */
}

/* Button within Input Group */
.input-group .btn {
    position: relative; /* Relative positioning */
    z-index: 2; /* Layering */
}

/* Focus State for Button in Input Group */
.input-group .btn:focus {
    z-index: 3; /* Layering */
}

/* Input Group Text Styles */
.input-group-text {
    display: flex; /* Flexbox for layout */
    align-items: center; /* Center items vertically */
    padding: 0.375rem 0.75rem; /* Padding for text */
    font-size: 1rem; /* Font size */
    font-weight: 400; /* Font weight */
    line-height: 1.5; /* Line height */
    color: #6B6A75; /* Text color */
    text-align: center; /* Center text */
    white-space: nowrap; /* Prevent wrapping */
    background-color: #e9ecef; /* Background color */
    border: 1px solid #ced4da; /* Border */
    border-radius: 2px; /* Rounded corners */
}

/* Large Input Group Styles */
.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
    padding: 0.5rem 1rem; /* Padding for large controls */
    font-size: 1.25rem; /* Font size for large controls */
    border-radius: .3rem; /* Rounded corners */
}

/* Small Input Group Styles */
.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
    padding: 0.25rem 0.5rem; /* Padding for small controls */
    font-size: .875rem; /* Font size for small controls */
    border-radius: .2rem; /* Rounded corners */
}

/* Padding for Large and Small Select Elements */
.input-group-lg > .form-select,
.input-group-sm > .form-select {
    padding-right: 3rem; /* Right padding for select elements */
}

/* Input Group Border Radius for Non-Validated Groups */
.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) {
    border-top-right-radius: 0; /* Remove top-right border radius */
    border-bottom-right-radius: 0; /* Remove bottom-right border radius */
}

/* Input Group Border Radius for Validated Groups */
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) {
    border-top-right-radius: 0; /* Remove top-right border radius */
    border-bottom-right-radius: 0; /* Remove bottom-right border radius */
}

/* Margin and Border Radius Adjustments for Input Groups */
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-left: -1px; /* Adjust left margin */
    border-top-left-radius: 0; /* Remove top-left border radius */
    border-bottom-left-radius: 0; /* Remove bottom-left border radius */
}

/* Valid Feedback Styles */
.valid-feedback {
    display: none; /* Hidden by default */
    width: 100%; /* Full width */
    margin-top: .25rem; /* Top margin */
    font-size: .875em; /* Font size */
    color: #198754; /* Feedback color */
}

/* Valid Tooltip Styles */
.valid-tooltip {
    position: absolute; /* Positioning */
    top: 100%; /* Align below */
    z-index: 5; /* Layering */
    display: none; /* Hidden by default */
    max-width: 100%; /* Maximum width */
    padding: .25rem .5rem; /* Padding */
    margin-top: .1rem; /* Top margin */
    font-size: .875rem; /* Font size */
    color: #fff; /* Text color */
    background-color: rgba(25, 135, 84, 0.9); /* Background color */
    border-radius: 2px; /* Rounded corners */
}

/* Display Valid Feedback and Tooltip on Validation */
.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
    display: block; /* Show feedback */
}

/* Valid Control Styles */
.was-validated .form-control:valid,
.form-control.is-valid {
    border-color: #198754; /* Border color */
    padding-right: calc(1.5em + .75rem); /* Right padding */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); /* Success icon */
    background-repeat: no-repeat; /* No repeat */
    background-position: right calc(.375em + .1875rem) center; /* Position icon */
    background-size: calc(.75em + .375rem) calc(.75em + .375rem); /* Icon size */
}

/* Focus State for Valid Controls */
.was-validated .form-control:valid:focus,
.form-control.is-valid:focus {
    border-color: #198754; /* Border color on focus */
    box-shadow: 0 0 0 .25rem rgba(25, 135, 84, 0.25); /* Box shadow */
}

/* Valid State for Textarea Controls */
.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
    padding-right: calc(1.5em + .75rem); /* Right padding */
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem); /* Position icon */
}

/* Valid Select Element Styles */
.was-validated .form-select:valid,
.form-select.is-valid {
    border-color: #198754; /* Green border for valid select */
}

/* Valid Select Element with Background Icons */
.was-validated .form-select:valid:not([multiple]):not([size]),
.was-validated .form-select:valid:not([multiple])[size="1"],
.form-select.is-valid:not([multiple]):not([size]),
.form-select.is-valid:not([multiple])[size="1"] {
    padding-right: 4.125rem; /* Additional padding on right */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),
                      url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-position: right .75rem center, center right 2.25rem; /* Set position of both icons */
    background-size: 16px 12px, calc(.75em + .375rem) calc(.75em + .375rem); /* Size for both icons */
}

/* Focus State for Valid Select Element */
.was-validated .form-select:valid:focus,
.form-select.is-valid:focus {
    border-color: #198754; /* Green border on focus */
    box-shadow: 0 0 0 .25rem rgba(25, 135, 84, 0.25); /* Green shadow effect */
}

/* Valid Check Input Styles */
.was-validated .form-check-input:valid,
.form-check-input.is-valid {
    border-color: #198754; /* Green border for valid input */
}

/* Valid Checked State for Check Input */
.was-validated .form-check-input:valid:checked,
.form-check-input.is-valid:checked {
    background-color: #198754; /* Green background for checked valid input */
}

/* Focus State for Valid Check Input */
.was-validated .form-check-input:valid:focus,
.form-check-input.is-valid:focus {
    box-shadow: 0 0 0 .25rem rgba(25, 135, 84, 0.25); /* Green shadow on focus */
}

/* Label for Valid Check Input */
.was-validated .form-check-input:valid ~ .form-check-label,
.form-check-input.is-valid ~ .form-check-label {
    color: #198754; /* Green label text for valid input */
}

/* Margin Adjustment for Inline Check Valid Feedback */
.form-check-inline .form-check-input ~ .valid-feedback {
    margin-left: .5em; /* Add margin for inline feedback */
}

/* Z-Index for Valid Inputs in Input Group */
.was-validated .input-group .form-control:valid,
.input-group .form-control.is-valid,
.was-validated .input-group .form-select:valid,
.input-group .form-select.is-valid {
    z-index: 3; /* Increase z-index for valid elements */
}

/* Invalid Feedback Styling */
.invalid-feedback {
    display: none; /* Hidden by default */
    width: 100%; /* Full width */
    margin-top: .25rem; /* Top margin */
    font-size: .875em; /* Font size */
    color: #dc3545; /* Red feedback text color */
}

/* Invalid Tooltip Styling */
.invalid-tooltip {
    position: absolute; /* Absolute positioning */
    top: 100%; /* Below the input */
    z-index: 5; /* Layering */
    display: none; /* Hidden by default */
    max-width: 100%; /* Maximum width */
    padding: .25rem .5rem; /* Padding */
    margin-top: .1rem; /* Top margin */
    font-size: .875rem; /* Font size */
    color: #fff; /* White text */
    background-color: rgba(220, 53, 69, 0.9); /* Red background */
    border-radius: 2px; /* Rounded corners */
}

/* Display Invalid Feedback and Tooltip */
.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
    display: block; /* Show invalid feedback or tooltip */
}

/* Invalid Form Control Styling */
.was-validated .form-control:invalid,
.form-control.is-invalid {
    border-color: #dc3545; /* Red border for invalid control */
    padding-right: calc(1.5em + .75rem); /* Padding for invalid icon */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); /* Invalid icon */
    background-repeat: no-repeat; /* Prevent repeat */
    background-position: right calc(.375em + .1875rem) center; /* Position invalid icon */
    background-size: calc(.75em + .375rem) calc(.75em + .375rem); /* Size of invalid icon */
}

/* Focus State for Invalid Form Control */
.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus {
    border-color: #dc3545; /* Red border for invalid focus */
    box-shadow: 0 0 0 .25rem rgba(220, 53, 69, 0.25); /* Red shadow for invalid focus */
}

/* Invalid Textarea Styling */
.was-validated textarea.form-control:invalid,
textarea.form-control.is-invalid {
    padding-right: calc(1.5em + .75rem); /* Extra padding for invalid icon */
    background-position: top calc(.375em + .1875rem) right calc(.375em + .1875rem); /* Adjust invalid icon position */
}

/* Invalid Select Element Border */
.was-validated .form-select:invalid,
.form-select.is-invalid {
    border-color: #dc3545; /* Red border for invalid select */
}

/* Invalid Select Element with Background Icons */
.was-validated .form-select:invalid:not([multiple]):not([size]),
.was-validated .form-select:invalid:not([multiple])[size="1"],
.form-select.is-invalid:not([multiple]):not([size]),
.form-select.is-invalid:not([multiple])[size="1"] {
padding-right: 4.125rem; /* Additional padding on right */
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),
    
/* Dropdown arrow icon */
url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");

/* Invalid icon */
background-position: right .75rem center, center right 2.25rem;/* Set positions of both icons */
background-size: 16px 12px, calc(.75em + .375rem) calc(.75em + .375rem); /* Size for both icons */
}

/* Focus State for Invalid Select Element */
.was-validated .form-select:invalid:focus,
.form-select.is-invalid:focus {
    border-color: #dc3545; /* Red border for invalid select */
    box-shadow: 0 0 0 .25rem rgba(220, 53, 69, 0.25); /* Red shadow for invalid select focus */
}

/* Invalid Checkbox or Radio Button */
.was-validated .form-check-input:invalid,
.form-check-input.is-invalid {
    border-color: #dc3545; /* Red border for invalid input */
}

/* Invalid Checkbox or Radio Button When Checked */
.was-validated .form-check-input:invalid:checked,
.form-check-input.is-invalid:checked {
    background-color: #dc3545; /* Red background for invalid checked input */
}

/* Focus State for Invalid Checkbox or Radio Button */
.was-validated .form-check-input:invalid:focus,
.form-check-input.is-invalid:focus {
    box-shadow: 0 0 0 .25rem rgba(220, 53, 69, 0.25); /* Red shadow on focus */
}

/* Invalid Feedback for Checkbox/Radio Labels */
.was-validated .form-check-input:invalid ~ .form-check-label,
.form-check-input.is-invalid ~ .form-check-label {
    color: #dc3545; /* Red color for label when input is invalid */
}

/* Inline Checkbox/Radio Invalid Feedback Spacing */
.form-check-inline .form-check-input ~ .invalid-feedback {
    margin-left: .5em; /* Adjust spacing for inline feedback */
}

/* Input Group Invalid Element Z-Index */
.was-validated .input-group .form-control:invalid,
.input-group .form-control.is-invalid,
.was-validated .input-group .form-select:invalid,
.input-group .form-select.is-invalid {
    z-index: 3; /* Bring invalid input group items to the front */
}

/* Button Base Styling */
.btn {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    color: #6B6A75; /* Gray text */
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    border-radius: 2px;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; /* Smooth transitions */
}

/* Reduce Motion for Accessibility */
@media (prefers-reduced-motion: reduce) {
    .btn {
        transition: none; /* Disable transitions for users preferring reduced motion */
    }
}

/* Button Hover State */
.btn:hover {
    color: #6B6A75; /* Gray text on hover */
}

/* Button Focus State */
.btn-check:focus + .btn,
.btn:focus {
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(6, 163, 218, 0.25); /* Blue shadow on focus */
}

/* Disabled Button State */
.btn:disabled,
.btn.disabled,
fieldset:disabled .btn {
    pointer-events: none; /* Disable interactions */
    opacity: .65; /* Reduce opacity for disabled buttons */
}

/* Primary Button Styling */
.btn-primary {
    color: #000; /* Black text */
    background-color: #06A3DA; /* Default blue background */
    border-color: #06A3DA; /* Border color matches background */
}

/* Primary Button Hover State */
.btn-primary:hover {
    color: #000; /* Black text */
    background-color: #2bb1e0; /* Lighter blue background on hover */
    border-color: #1facde; /* Slightly darker border on hover */
}

/* Primary Button Focus State */
.btn-check:focus + .btn-primary,
.btn-primary:focus {
    color: #000; /* Black text */
    background-color: #2bb1e0; /* Same lighter blue as hover on focus */
    border-color: #1facde; /* Border color on focus */
    box-shadow: 0 0 0 .25rem rgba(5,139,185,0.5); /* Blue focus outline */
}

/* Primary Button Active/Checked State */
.btn-check:checked + .btn-primary,
.btn-check:active + .btn-primary,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
    color: #000; /* Black text */
    background-color: #38b5e1; /* Slightly lighter blue when active */
    border-color: #1facde; /* Border color when active */
}

/* Primary Button Active Focus State */
.btn-check:checked + .btn-primary:focus,
.btn-check:active + .btn-primary:focus,
.btn-primary:active:focus,
.btn-primary.active:focus,
.show > .btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(5,139,185,0.5); /* Blue focus outline when active */
}

/* Primary Button Disabled State */
.btn-primary:disabled,
.btn-primary.disabled {
    color: #000; /* Black text for disabled */
    background-color: #06A3DA; /* Same background as default */
    border-color: #06A3DA; /* Same border as default */
}

/* Secondary Button Styling */
.btn-secondary {
    color: #000; /* Black text */
    background-color: #34AD54; /* Green background */
    border-color: #34AD54; /* Border color matches background */
}

/* Secondary Button Hover State */
.btn-secondary:hover {
    color: #000; /* Black text */
    background-color: #52b96e; /* Lighter green background on hover */
    border-color: #48b565; /* Slightly darker green border on hover */
}

/* Secondary Button Focus State */
.btn-check:focus + .btn-secondary,
.btn-secondary:focus {
    color: #000; /* Black text */
    background-color: #52b96e; /* Same lighter green as hover on focus */
    border-color: #48b565; /* Border color on focus */
    box-shadow: 0 0 0 .25rem rgba(44,147,71,0.5); /* Green focus outline */
}
     
 /* Secondary Button Active/Checked State */
.btn-check:checked + .btn-secondary,
.btn-check:active + .btn-secondary,
.btn-secondary:active,
.btn-secondary.active,
.show > .btn-secondary.dropdown-toggle {
    color: #000; /* Black text */
    background-color: #5dbd76; /* Lighter green background when active */
    border-color: #48b565; /* Border color when active */
}

/* Secondary Button Active Focus State */
.btn-check:checked + .btn-secondary:focus,
.btn-check:active + .btn-secondary:focus,
.btn-secondary:active:focus,
.btn-secondary.active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(44,147,71,0.5); /* Green focus outline when active */
}

/* Secondary Button Disabled State */
.btn-secondary:disabled,
.btn-secondary.disabled {
    color: #000; /* Black text for disabled */
    background-color: #34AD54; /* Same green background as default */
    border-color: #34AD54; /* Same green border as default */
}

/* Success Button Styling */
.btn-success {
    color: #fff; /* White text */
    background-color: #198754; /* Green background for success buttons */
    border-color: #198754; /* Border color matches background */
}

/* Success Button Hover State */
.btn-success:hover {
    color: #fff; /* White text */
    background-color: #157347; /* Darker green background on hover */
    border-color: #146c43; /* Slightly darker green border on hover */
}

/* Success Button Focus State */
.btn-check:focus + .btn-success,
.btn-success:focus {
    color: #fff; /* White text */
    background-color: #157347; /* Same darker green as hover on focus */
    border-color: #146c43; /* Border color on focus */
    box-shadow: 0 0 0 .25rem rgba(60,153,110,0.5); /* Green focus outline */
}

/* Success Button Active/Checked State */
.btn-check:checked + .btn-success,
.btn-check:active + .btn-success,
.btn-success:active,
.btn-success.active,
.show > .btn-success.dropdown-toggle {
    color: #fff; /* White text */
    background-color: #146c43; /* Darker green when active */
    border-color: #13653f; /* Border color when active */
}

/* Success Button Active Focus State */
.btn-check:checked + .btn-success:focus,
.btn-check:active + .btn-success:focus,
.btn-success:active:focus,
.btn-success.active:focus,
.show > .btn-success.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(60,153,110,0.5); /* Green focus outline when active */
}


/* Success Button Disabled State */
.btn-success:disabled,
.btn-success.disabled {
    color: #fff; /* White text for disabled success button */
    background-color: #198754; /* Green background (same as default) */
    border-color: #198754; /* Green border (same as default) */
}

/* Info Button Styling */
.btn-info {
    color: #000; /* Black text */
    background-color: #0dcaf0; /* Light blue background for info button */
    border-color: #0dcaf0; /* Border color matches background */
}

/* Info Button Hover State */
.btn-info:hover {
    color: #000; /* Black text on hover */
    background-color: #31d2f2; /* Slightly darker blue background on hover */
    border-color: #25cff2; /* Border color on hover */
}

/* Info Button Focus State */
.btn-check:focus + .btn-info,
.btn-info:focus {
    color: #000; /* Black text */
    background-color: #31d2f2; /* Same background as hover on focus */
    border-color: #25cff2; /* Border color on focus */
    box-shadow: 0 0 0 .25rem rgba(11,172,204,0.5); /* Light blue focus outline */
}

/* Info Button Active/Checked State */
.btn-check:checked + .btn-info,
.btn-check:active + .btn-info,
.btn-info:active,
.btn-info.active,
.show > .btn-info.dropdown-toggle {
    color: #000; /* Black text */
    background-color: #3dd5f3; /* Slightly lighter blue background when active */
    border-color: #25cff2; /* Border color when active */
}

/* Info Button Active Focus State */
.btn-check:checked + .btn-info:focus,
.btn-check:active + .btn-info:focus,
.btn-info:active:focus,
.btn-info.active:focus,
.show > .btn-info.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(11,172,204,0.5); /* Blue focus outline when active */
}

/* Info Button Disabled State */
.btn-info:disabled,
.btn-info.disabled {
    color: #000; /* Black text for disabled info button */
    background-color: #0dcaf0; /* Same blue background as default */
    border-color: #0dcaf0; /* Same blue border as default */
}

/* Warning Button Styling */
.btn-warning {
    color: #000; /* Black text */
    background-color: #ffc107; /* Yellow background for warning button */
    border-color: #ffc107; /* Border color matches background */
}

/* Warning Button Hover State */
.btn-warning:hover {
    color: #000; /* Black text */
    background-color: #ffca2c; /* Slightly darker yellow background on hover */
    border-color: #ffc720; /* Border color on hover */
}

/* Warning Button Focus State */
.btn-check:focus + .btn-warning,
.btn-warning:focus {
    color: #000; /* Black text */
    background-color: #ffca2c; /* Same background as hover on focus */
    border-color: #ffc720; /* Border color on focus */
    box-shadow: 0 0 0 .25rem rgba(217,164,6,0.5); /* Yellow focus outline */
}

/* Warning Button Active/Checked State */
.btn-check:checked + .btn-warning,
.btn-check:active + .btn-warning,
.btn-warning:active,
.btn-warning.active,
.show > .btn-warning.dropdown-toggle {
    color: #000; /* Black text */
    background-color: #ffcd39; /* Slightly darker yellow background when active */
    border-color: #ffc720; /* Border color */
}

/* Warning Button Active Focus State */
.btn-check:checked + .btn-warning:focus,
.btn-check:active + .btn-warning:focus,
.btn-warning:active:focus,
.btn-warning.active:focus,
.show > .btn-warning.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(217,164,6,0.5); /* Yellow focus outline */
}

/* Warning Button Disabled State */
.btn-warning:disabled,
.btn-warning.disabled {
    color: #000; /* Black text for disabled warning button */
    background-color: #ffc107; /* Same background as default */
    border-color: #ffc107; /* Same border as default */
}

/* Danger Button Styling */
.btn-danger {
    color: #fff; /* White text */
    background-color: #dc3545; /* Red background for danger button */
    border-color: #dc3545; /* Border color matches background */
}

/* Danger Button Hover State */
.btn-danger:hover {
    color: #fff; /* White text */
    background-color: #bb2d3b; /* Darker red background on hover */
    border-color: #b02a37; /* Darker border on hover */
}

/* Danger Button Focus State */
.btn-check:focus + .btn-danger,
.btn-danger:focus {
    color: #fff; /* White text */
    background-color: #bb2d3b; /* Same background as hover on focus */
    border-color: #b02a37; /* Border color on focus */
    box-shadow: 0 0 0 .25rem rgba(225,83,97,0.5); /* Red focus outline */
}

/* Danger Button Active/Checked State */
.btn-check:checked + .btn-danger,
.btn-check:active + .btn-danger,
.btn-danger:active,
.btn-danger.active,
.show > .btn-danger.dropdown-toggle {
    color: #fff; /* White text */
    background-color: #b02a37; /* Darker red background when active */
    border-color: #a52834; /* Border color */
}

/* Danger Button Active Focus State */
.btn-check:checked + .btn-danger:focus,
.btn-check:active + .btn-danger:focus,
.btn-danger:active:focus,
.btn-danger.active:focus,
.show > .btn-danger.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(225,83,97,0.5); /* Red focus outline */
}

/* Danger Button Disabled State */
.btn-danger:disabled,
.btn-danger.disabled {
    color: #fff; /* White text for disabled danger button */
    background-color: #dc3545; /* Same background as default */
    border-color: #dc3545; /* Same border as default */
}

/* Light Button Styling */
.btn-light {
    color: #000; /* Black text */
    background-color: #EEF9FF; /* Light blue background for light button */
    border-color: #EEF9FF; /* Border color matches background */
}

/* Light Button Hover State */
.btn-light:hover {
    color: #000; /* Black text */
    background-color: #f1faff; /* Slightly lighter blue background on hover */
    border-color: #f0faff; /* Lighter border on hover */
}

/* Light Button Focus State */
.btn-check:focus + .btn-light,
.btn-light:focus {
    color: #000; /* Black text */
    background-color: #f1faff; /* Same background as hover on focus */
    border-color: #f0faff; /* Border color on focus */
    box-shadow: 0 0 0 .25rem rgba(202,212,217,0.5); /* Light blue focus outline */
}

/* Light Button Active/Checked State */
.btn-check:checked + .btn-light,
.btn-check:active + .btn-light,
.btn-light:active,
.btn-light.active,
.show > .btn-light.dropdown-toggle {
    color: #000; /* Black text */
    background-color: #f1faff; /* Same background as hover */
    border-color: #f0faff; /* Border color */
}

/* Light Button Active Focus State */
.btn-check:checked + .btn-light:focus,
.btn-check:active + .btn-light:focus,
.btn-light:active:focus,
.btn-light.active:focus,
.show > .btn-light.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(202,212,217,0.5); /* Light blue focus outline */
}

/* Light Button Disabled State */
.btn-light:disabled,
.btn-light.disabled {
    color: #000; /* Black text for disabled light button */
    background-color: #EEF9FF; /* Same background as default */
    border-color: #EEF9FF; /* Same border as default */
}

/* Dark Button Styling */
.btn-dark {
    color: #fff; /* White text */
    background-color: #091E3E; /* Dark blue background for dark button */
    border-color: #091E3E; /* Border color matches background */
}

/* Dark Button Hover State */
.btn-dark:hover {
    color: #fff; /* White text */
    background-color: #081a35; /* Slightly darker background on hover */
    border-color: #071832; /* Darker border on hover */
}

/* Dark Button Focus State */
.btn-check:focus + .btn-dark,
.btn-dark:focus {
    color: #fff; /* White text */
    background-color: #081a35; /* Same background as hover on focus */
    border-color: #071832; /* Border color on focus */
    box-shadow: 0 0 0 .25rem rgba(46,64,91,0.5); /* Dark blue focus outline */
}

/* Dark Button Active/Checked State */
.btn-check:checked + .btn-dark,
.btn-check:active + .btn-dark,
.btn-dark:active,
.btn-dark.active,
.show > .btn-dark.dropdown-toggle {
    color: #fff; /* White text */
    background-color: #071832; /* Darker background when active */
    border-color: #07172f; /* Border color */
}

/* Dark Button Active Focus State */
.btn-check:checked + .btn-dark:focus,
.btn-check:active + .btn-dark:focus,
.btn-dark:active:focus,
.btn-dark.active:focus,
.show > .btn-dark.dropdown-toggle:focus {
    box-shadow: 0 0 0 .25rem rgba(46,64,91,0.5); /* Dark blue focus outline */
}

/* Dark Button Disabled State */
.btn-dark:disabled,
.btn-dark.disabled {
    color: #fff; /* White text for disabled dark button */
    background-color: #091E3E; /* Same background as default */
    border-color: #091E3E; /* Same border as default */
}

/* Outline Primary Button Styling */
.btn-outline-primary {
    color: #06A3DA; /* Blue text */
    border-color: #06A3DA; /* Blue border */
}

/* Outline Primary Button Hover State */
.btn-outline-primary:hover {
    color: #000; /* Black text */
    background-color: #06A3DA; /* Blue background on hover */
    border-color: #06A3DA; /* Blue border on hover */
}

/* Outline Primary Button Focus State */
.btn-check:focus + .btn-outline-primary,
.btn-outline-primary:focus {
    box-shadow: 0 0 0 .25rem rgba(6,163,218,0.5); /* Light blue focus outline */
}

/* Outline Primary Button Active/Checked State */
.btn-check:checked + .btn-outline-primary,
.btn-check:active + .btn-outline-primary,
.btn-outline-primary:active,
.btn-outline-primary.active,
.btn-outline-primary.dropdown-toggle.show {
    color: #000; /* Black text */
    background-color: #06A3DA; /* Blue background when active */
    border-color: #06A3DA; /* Border color */
}

/* Outline Primary Button Active Focus State */
.btn-check:checked + .btn-outline-primary:focus,
.btn-check:active + .btn-outline-primary:focus,
.btn-outline-primary:active:focus,
.btn-outline-primary.active:focus,
.btn-outline-primary.dropdown-toggle.show:focus {
    box-shadow: 0 0 0 .25rem rgba(6,163,218,0.5); /* Light blue focus outline */
}

/* Outline Primary Button Disabled State */
.btn-outline-primary:disabled,
.btn-outline-primary.disabled {
    color: #06A3DA; /* Blue text for disabled outline button */
    background-color: transparent; /* Transparent background */
}
             
/* Outline Secondary Button Styling */
.btn-outline-secondary {
    color: #34AD54; /* Green text */
    border-color: #34AD54; /* Green border */
}

/* Outline Secondary Button Hover State */
.btn-outline-secondary:hover {
    color: #000; /* Black text */
    background-color: #34AD54; /* Green background on hover */
    border-color: #34AD54; /* Green border */
}

/* Outline Secondary Button Focus State */
.btn-check:focus + .btn-outline-secondary,
.btn-outline-secondary:focus {
    box-shadow: 0 0 0 .25rem rgba(52,173,84,0.5); /* Green focus outline */
}

/* Outline Secondary Button Active/Checked State */
.btn-check:checked + .btn-outline-secondary,
.btn-check:active + .btn-outline-secondary,
.btn-outline-secondary:active,
.btn-outline-secondary.active,
.btn-outline-secondary.dropdown-toggle.show {
    color: #000; /* Black text */
    background-color: #34AD54; /* Green background when active */
    border-color: #34AD54; /* Border color */
}

/* Outline Secondary Button Active Focus State */
.btn-check:checked + .btn-outline-secondary:focus,
.btn-check:active + .btn-outline-secondary:focus,
.btn-outline-secondary:active:focus,
.btn-outline-secondary.active:focus,
.btn-outline-secondary.dropdown-toggle.show:focus {
    box-shadow: 0 0 0 .25rem rgba(52,173,84,0.5); /* Green focus outline */
}

/* Outline Secondary Button Disabled State */
.btn-outline-secondary:disabled,
.btn-outline-secondary.disabled {
    color: #34AD54; /* Green text for disabled outline button */
    background-color: transparent; /* Transparent background */
}

/* Outline Success Button Styling */
.btn-outline-success {
    color: #198754; /* Dark green text */
    border-color: #198754; /* Dark green border */
}

/* Outline Success Button Hover State */
.btn-outline-success:hover {
    color: #fff; /* White text */
    background-color: #198754; /* Dark green background on hover */
    border-color: #198754; /* Border matches background */
}

/* Outline Success Button Focus State */
.btn-check:focus + .btn-outline-success,
.btn-outline-success:focus {
    box-shadow: 0 0 0 .25rem rgba(25,135,84,0.5); /* Dark green focus outline */
}

/* Outline Success Button Active/Checked State */
.btn-check:checked + .btn-outline-success,
.btn-check:active + .btn-outline-success,
.btn-outline-success:active,
.btn-outline-success.active,
.btn-outline-success.dropdown-toggle.show {
    color: #fff; /* White text */
    background-color: #198754; /* Dark green background when active */
    border-color: #198754; /* Border color */
}

/* Outline Success Button Active Focus State */
.btn-check:checked + .btn-outline-success:focus,
.btn-check:active + .btn-outline-success:focus,
.btn-outline-success:active:focus,
.btn-outline-success.active:focus,
.btn-outline-success.dropdown-toggle.show:focus {
    box-shadow: 0 0 0 .25rem rgba(25,135,84,0.5); /* Dark green focus outline */
}

/* Outline Success Button Disabled State */
.btn-outline-success:disabled,
.btn-outline-success.disabled {
    color: #198754; /* Dark green text for disabled outline button */
    background-color: transparent; /* Transparent background */
}
               
/* Outline Info Button Styling */
.btn-outline-info {
    color: #0dcaf0; /* Light blue text */
    border-color: #0dcaf0; /* Light blue border */
}

/* Outline Info Button Hover State */
.btn-outline-info:hover {
    color: #000; /* Black text */
    background-color: #0dcaf0; /* Light blue background on hover */
    border-color: #0dcaf0; /* Border matches background */
}

/* Outline Info Button Focus State */
.btn-check:focus + .btn-outline-info,
.btn-outline-info:focus {
    box-shadow: 0 0 0 .25rem rgba(13,202,240,0.5); /* Light blue focus outline */
}

/* Outline Info Button Active/Checked State */
.btn-check:checked + .btn-outline-info,
.btn-check:active + .btn-outline-info,
.btn-outline-info:active,
.btn-outline-info.active,
.btn-outline-info.dropdown-toggle.show {
    color: #000; /* Black text */
    background-color: #0dcaf0; /* Light blue background when active */
    border-color: #0dcaf0; /* Border color */
}

/* Outline Info Button Active Focus State */
.btn-check:checked + .btn-outline-info:focus,
.btn-check:active + .btn-outline-info:focus,
.btn-outline-info:active:focus,
.btn-outline-info.active:focus,
.btn-outline-info.dropdown-toggle.show:focus {
    box-shadow: 0 0 0 .25rem rgba(13,202,240,0.5); /* Light blue focus outline */
}

/* Outline Info Button Disabled State */
.btn-outline-info:disabled,
.btn-outline-info.disabled {
    color: #0dcaf0; /* Light blue text for disabled outline button */
    background-color: transparent; /* Transparent background */
}

/* Outline Warning Button Styling */
.btn-outline-warning {
    color: #ffc107; /* Yellow text */
    border-color: #ffc107; /* Yellow border */
}

/* Outline Warning Button Hover State */
.btn-outline-warning:hover {
    color: #000; /* Black text */
    background-color: #ffc107; /* Yellow background on hover */
    border-color: #ffc107; /* Border matches background */
}

/* Outline Warning Button Focus State */
.btn-check:focus + .btn-outline-warning,
.btn-outline-warning:focus {
    box-shadow: 0 0 0 .25rem rgba(255,193,7,0.5); /* Yellow focus outline */
}

/* Outline Warning Button Active/Checked State */
.btn-check:checked + .btn-outline-warning,
.btn-check:active + .btn-outline-warning,
.btn-outline-warning:active,
.btn-outline-warning.active,
.btn-outline-warning.dropdown-toggle.show {
    color: #000; /* Black text */
    background-color: #ffc107; /* Yellow background when active */
    border-color: #ffc107; /* Border color */
}

/* Outline Warning Button Active Focus State */
.btn-check:checked + .btn-outline-warning:focus,
.btn-check:active + .btn-outline-warning:focus,
.btn-outline-warning:active:focus,
.btn-outline-warning.active:focus,
.btn-outline-warning.dropdown-toggle.show:focus {
    box-shadow: 0 0 0 .25rem rgba(255,193,7,0.5); /* Yellow focus outline */
}

/* Outline Warning Button Disabled State */
.btn-outline-warning:disabled,
.btn-outline-warning.disabled {
    color: #ffc107; /* Yellow text for disabled outline button */
    background-color: transparent; /* Transparent background */
}
          
               
/* Outline Danger Button Styling */
.btn-outline-danger {
    color: #dc3545; /* Red text */
    border-color: #dc3545; /* Red border */
}

/* Outline Danger Button Hover State */
.btn-outline-danger:hover {
    color: #fff; /* White text on hover */
    background-color: #dc3545; /* Red background on hover */
    border-color: #dc3545; /* Red border */
}

/* Outline Danger Button Focus State */
.btn-check:focus + .btn-outline-danger,
.btn-outline-danger:focus {
    box-shadow: 0 0 0 .25rem rgba(220,53,69,0.5); /* Red focus outline */
}

/* Outline Danger Button Active/Checked State */
.btn-check:checked + .btn-outline-danger,
.btn-check:active + .btn-outline-danger,
.btn-outline-danger:active,
.btn-outline-danger.active,
.btn-outline-danger.dropdown-toggle.show {
    color: #fff; /* White text when active */
    background-color: #dc3545; /* Red background */
    border-color: #dc3545; /* Red border */
}

/* Outline Danger Button Active Focus State */
.btn-check:checked + .btn-outline-danger:focus,
.btn-check:active + .btn-outline-danger:focus,
.btn-outline-danger:active:focus,
.btn-outline-danger.active:focus,
.btn-outline-danger.dropdown-toggle.show:focus {
    box-shadow: 0 0 0 .25rem rgba(220,53,69,0.5); /* Red focus outline */
}

/* Outline Danger Button Disabled State */
.btn-outline-danger:disabled,
.btn-outline-danger.disabled {
    color: #dc3545; /* Red text for disabled button */
    background-color: transparent; /* Transparent background */
}

/* Outline Light Button Styling */
.btn-outline-light {
    color: #EEF9FF; /* Light white text */
    border-color: #EEF9FF; /* Light white border */
}

/* Outline Light Button Hover State */
.btn-outline-light:hover {
    color: #000; /* Black text on hover */
    background-color: #EEF9FF; /* Light white background */
    border-color: #EEF9FF; /* Light white border */
}

/* Outline Light Button Focus State */
.btn-check:focus + .btn-outline-light,
.btn-outline-light:focus {
    box-shadow: 0 0 0 .25rem rgba(238,249,255,0.5); /* Light white focus outline */
}

/* Outline Light Button Active/Checked State */
.btn-check:checked + .btn-outline-light,
.btn-check:active + .btn-outline-light,
.btn-outline-light:active,
.btn-outline-light.active,
.btn-outline-light.dropdown-toggle.show {
    color: #000; /* Black text */
    background-color: #EEF9FF; /* Light white background */
    border-color: #EEF9FF; /* Light white border */
}

/* Outline Light Button Active Focus State */
.btn-check:checked + .btn-outline-light:focus,
.btn-check:active + .btn-outline-light:focus,
.btn-outline-light:active:focus,
.btn-outline-light.active:focus,
.btn-outline-light.dropdown-toggle.show:focus {
    box-shadow: 0 0 0 .25rem rgba(238,249,255,0.5); /* Light white focus outline */
}

/* Outline Light Button Disabled State */
.btn-outline-light:disabled,
.btn-outline-light.disabled {
    color: #EEF9FF; /* Light white text for disabled button */
    background-color: transparent; /* Transparent background */
}

/* Outline Dark Button Styling */
.btn-outline-dark {
    color: #091E3E; /* Dark blue text */
    border-color: #091E3E; /* Dark blue border */
}

/* Outline Dark Button Hover State */
.btn-outline-dark:hover {
    color: #fff; /* White text on hover */
    background-color: #091E3E; /* Dark blue background on hover */
    border-color: #091E3E; /* Dark blue border */
}

/* Outline Dark Button Focus State */
.btn-check:focus + .btn-outline-dark,
.btn-outline-dark:focus {
    box-shadow: 0 0 0 .25rem rgba(9, 30, 62, 0.5); /* Dark blue focus outline */
}

/* Outline Dark Button Active/Checked State */
.btn-check:checked + .btn-outline-dark,
.btn-check:active + .btn-outline-dark,
.btn-outline-dark:active,
.btn-outline-dark.active,
.btn-outline-dark.dropdown-toggle.show {
    color: #fff; /* White text when active */
    background-color: #091E3E; /* Dark blue background */
    border-color: #091E3E; /* Dark blue border */
}

/* Outline Dark Button Active Focus State */
.btn-check:checked + .btn-outline-dark:focus,
.btn-check:active + .btn-outline-dark:focus,
.btn-outline-dark:active:focus,
.btn-outline-dark.active:focus,
.btn-outline-dark.dropdown-toggle.show:focus {
    box-shadow: 0 0 0 .25rem rgba(9, 30, 62, 0.5); /* Dark blue focus outline */
}

/* Outline Dark Button Disabled State */
.btn-outline-dark:disabled,
.btn-outline-dark.disabled {
    color: #091E3E; /* Dark blue text for disabled button */
    background-color: transparent; /* Transparent background */
}

/* Button Link Styling */
.btn-link {
    font-weight: 400; /* Normal weight */
    color: #06A3DA; /* Link color */
    text-decoration: none; /* No underline */
}

/* Button Link Hover State */
.btn-link:hover {
    color: #0582ae; /* Darker blue on hover */
}

/* Disabled Button Link State */
.btn-link:disabled,
.btn-link.disabled {
    color: #6c757d; /* Gray text for disabled link */
}

/* Button Size: Large */
.btn-lg,
.btn-group-lg > .btn {
    padding: .5rem 1rem; /* Large padding */
    font-size: 1.25rem; /* Larger font size */
    border-radius: .3rem; /* Rounded corners */
}

/* Button Size: Small */
.btn-sm,
.btn-group-sm > .btn {
    padding: .25rem .5rem; /* Small padding */
    font-size: .875rem; /* Smaller font size */
    border-radius: .2rem; /* Rounded corners */
}

/* Fade Transition */
.fade {
    transition: opacity 0.15s linear; /* Fade transition */
}

/* Reduce Motion for Fade */
@media (prefers-reduced-motion: reduce) {
    .fade {
        transition: none; /* No transition for users with reduced motion preferences */
    }
}

/* Fade Not Visible State */
.fade:not(.show) {
    opacity: 0; /* Fully transparent */
}

/* Collapse Not Visible State */
.collapse:not(.show) {
    display: none; /* Hidden when not shown */
}

/* Collapsing State */
.collapsing {
    height: 0; /* Height is zero when collapsing */
    overflow: hidden; /* Hide overflow */
    transition: height 0.35s ease; /* Collapse transition */
}

/* Reduce Motion for Collapse */
@media (prefers-reduced-motion: reduce) {
    .collapsing {
        transition: none; /* No transition for users with reduced motion preferences */
    }
}

/* Dropdowns Positioning */
.dropup,
.dropend,
.dropdown,
.dropstart {
    position: relative; /* Relative positioning for dropdowns */
}

/* Dropdown Toggle Styling */
.dropdown-toggle {
    white-space: nowrap; /* Prevent wrapping */
}

/* Dropdown Toggle Arrow */
.dropdown-toggle::after {
    display: inline-block; /* Inline block for arrow */
    margin-left: .255em; /* Margin for spacing */
    vertical-align: .255em; /* Vertical alignment */
    content: ""; /* Empty content for the arrow */
    border-top: .3em solid; /* Arrow top */
    border-right: .3em solid transparent; /* Right border transparent */
    border-bottom: 0; /* No bottom border */
    border-left: .3em solid transparent; /* Left border transparent */
}

/* Dropdown Toggle Empty State */
.dropdown-toggle:empty::after {
    margin-left: 0; /* Remove margin for empty dropdown toggle */
}

/* Dropdown Menu Styling */
.dropdown-menu {
    position: absolute; /* Absolute positioning for dropdown */
    z-index: 1000; /* Z-index for stacking order */
    display: none; /* Hidden by default */
    min-width: 10rem; /* Minimum width */
    padding: .5rem 0; /* Vertical padding */
    margin: 0; /* No margin */
    font-size: 1rem; /* Font size */
    color: #6B6A75; /* Text color */
    text-align: left; /* Left aligned text */
    list-style: none; /* No list style */
    background-color: #fff; /* White background */
    background-clip: padding-box; /* Background clipping */
    border: 1px solid rgba(0, 0, 0, 0.15); /* Border */
    border-radius: 2px; /* Rounded corners */
}

/* Dropdown Menu Positioning */
.dropdown-menu[data-bs-popper] {
    top: 100%; /* Position below the toggle */
    left: 0; /* Align left */
    margin-top: .125rem; /* Small margin above */
}

/* Start Position for Dropdown Menu */
.dropdown-menu-start {
    --bs-position: start; /* Start position variable */
}

.dropdown-menu-start[data-bs-popper] {
    right: auto; /* Reset right position */
    left: 0; /* Align left */
}

/* End Position for Dropdown Menu */
.dropdown-menu-end {
    --bs-position: end; /* End position variable */
}

.dropdown-menu-end[data-bs-popper] {
    right: 0; /* Align right */
    left: auto; /* Reset left position */
}

/* Responsive Dropdown Menu Styles */
@media (min-width: 576px) {
    .dropdown-menu-sm-start {
        --bs-position: start; /* Small start position */
    }

    .dropdown-menu-sm-start[data-bs-popper] {
        right: auto; /* Reset right position */
        left: 0; /* Align left */
    }

    .dropdown-menu-sm-end {
        --bs-position: end; /* Small end position */
    }

    .dropdown-menu-sm-end[data-bs-popper] {
        right: 0; /* Align right */
        left: auto; /* Reset left position */
    }
}

@media (min-width: 768px) {
    .dropdown-menu-md-start {
        --bs-position: start; /* Medium start position */
    }

    .dropdown-menu-md-start[data-bs-popper] {
        right: auto; /* Reset right position */
        left: 0; /* Align left */
    }

    .dropdown-menu-md-end {
        --bs-position: end; /* Medium end position */
    }

    .dropdown-menu-md-end[data-bs-popper] {
        right: 0; /* Align right */
        left: auto; /* Reset left position */
    }
}

@media (min-width: 992px) {
    .dropdown-menu-lg-start {
        --bs-position: start; /* Large start position */
    }
    /* Additional large breakpoint styles can be added here */
}

/* Large Dropdown Menu Start Position */
.dropdown-menu-lg-start[data-bs-popper] {
    right: auto; /* Reset right position for large start */
    left: 0; /* Align left */
}

/* Large Dropdown Menu End Position */
.dropdown-menu-lg-end {
    --bs-position: end; /* End position variable */
}

.dropdown-menu-lg-end[data-bs-popper] {
    right: 0; /* Align right */
    left: auto; /* Reset left position */
}

/* Extra Large Dropdown Menu Start Position */
@media (min-width: 1200px) {
    .dropdown-menu-xl-start {
        --bs-position: start; /* Start position variable for extra large */
    }

    .dropdown-menu-xl-start[data-bs-popper] {
        right: auto; /* Reset right position */
        left: 0; /* Align left */
    }

    /* Extra Large Dropdown Menu End Position */
    .dropdown-menu-xl-end {
        --bs-position: end; /* End position variable for extra large */
    }

    .dropdown-menu-xl-end[data-bs-popper] {
        right: 0; /* Align right */
        left: auto; /* Reset left position */
    }
}

/* Extra Extra Large Dropdown Menu Start Position */
@media (min-width: 1400px) {
    .dropdown-menu-xxl-start {
        --bs-position: start; /* Start position variable for extra extra large */
    }

    .dropdown-menu-xxl-start[data-bs-popper] {
        right: auto; /* Reset right position */
        left: 0; /* Align left */
    }

    /* Extra Extra Large Dropdown Menu End Position */
    .dropdown-menu-xxl-end {
        --bs-position: end; /* End position variable for extra extra large */
    }

    .dropdown-menu-xxl-end[data-bs-popper] {
        right: 0; /* Align right */
        left: auto; /* Reset left position */
    }
}

/* Dropup Dropdown Menu Styles */
.dropup .dropdown-menu[data-bs-popper] {
    top: auto; /* No top alignment */
    bottom: 100%; /* Position above the toggle */
    margin-top: 0; /* No margin */
    margin-bottom: .125rem; /* Small margin below */
}

.dropup .dropdown-toggle::after {
    display: inline-block; /* Display arrow */
    margin-left: .255em; /* Margin for spacing */
    vertical-align: .255em; /* Align vertically */
    content: ""; /* Arrow content */
    border-top: 0; /* No top border */
    border-right: .3em solid transparent; /* Right border */
    border-bottom: .3em solid transparent; /* Bottom border */
    border-left: .3em solid transparent; /* Left border */
}

.dropup .dropdown-toggle:empty::after {
    margin-left: 0; /* No margin for empty toggle */
}

/* Dropend Dropdown Menu Styles */
.dropend .dropdown-menu[data-bs-popper] {
    top: 0; /* Align at the top */
    right: auto; /* Reset right position */
    left: 100%; /* Position to the right */
    margin-top: 0; /* No margin */
    margin-left: .125rem; /* Small margin on the left */
}

.dropend .dropdown-toggle::after {
    display: inline-block; /* Display arrow */
    margin-left: .255em; /* Margin for spacing */
    vertical-align: .255em; /* Align vertically */
    content: ""; /* Arrow content */
    border-top: .3em solid transparent; /* Top border */
    border-right: 0; /* No right border */
    border-bottom: .3em solid transparent; /* Bottom border */
    border-left: .3em solid transparent; /* Left border */
}

.dropend .dropdown-toggle:empty::after {
    margin-left: 0; /* No margin for empty toggle */
}

.dropend .dropdown-toggle::after {
    vertical-align: 0; /* Vertical alignment */
}

/* Dropstart Dropdown Menu Styles */
.dropstart .dropdown-menu[data-bs-popper] {
    top: 0; /* Align at the top */
    right: 100%; /* Position to the left */
    left: auto; /* Reset left position */
    margin-top: 0; /* No margin */
    margin-right: .125rem; /* Small margin on the right */
}

.dropstart .dropdown-toggle::after {
    display: inline-block; /* Display arrow */
    margin-left: .255em; /* Margin for spacing */
    vertical-align: .255em; /* Align vertically */
    content: ""; /* Arrow content */
}

.dropstart .dropdown-toggle::after {
    display: none; /* Hide arrow for dropdown */
}

.dropstart .dropdown-toggle::before {
    display: inline-block; /* Display arrow */
    margin-right: .255em; /* Margin for spacing */
    vertical-align: .255em; /* Align vertically */
    content: ""; /* Arrow content */
    border-top: .3em solid transparent; /* Top border */
    border-right: .3em solid transparent; /* Right border */
    border-bottom: .3em solid transparent; /* Bottom border */
}

/* Empty Dropstart Dropdown Toggle */
.dropstart .dropdown-toggle:empty::after {
    margin-left: 0; /* No margin for empty toggle */
}

.dropstart .dropdown-toggle::before {
    vertical-align: 0; /* Vertical alignment */
}

/* Dropdown Divider */
.dropdown-divider {
    height: 0; /* No height */
    margin: .5rem 0; /* Vertical margin */
    overflow: hidden; /* No overflow */
    border-top: 1px solid rgba(0, 0, 0, 0.15); /* Divider border */
}

/* Dropdown Item Styling */
.dropdown-item {
    display: block; /* Block display */
    width: 90%; /* Full width */
    clear: both; /* Clear floats */
    font-weight: 400; /* Font weight */
    color: #212529; /* Text color */
    text-align: inherit; /* Inherit text alignment */
    white-space: nowrap; /* No line breaks */
    background-color: transparent; /* Transparent background */
    border: 0; /* No border */
}

/* Dropdown Item Hover and Focus States */
.dropdown-item:hover,
.dropdown-item:focus {
    color: #1e2125; /* Text color on hover/focus */
    background-color: #e9ecef; /* Background color on hover/focus */
}

/* Active Dropdown Item */
.dropdown-item.active,
.dropdown-item:active {
    color: #fff; /* White text */
    text-decoration: none; /* No underline */
    background-color: #06A3DA; /* Active background color */
}

/* Disabled Dropdown Item */
.dropdown-item.disabled,
.dropdown-item:disabled {
    color: #adb5bd; /* Gray text */
    pointer-events: none; /* No pointer events */
    background-color: transparent; /* Transparent background */
}

/* Show Dropdown Menu */
.dropdown-menu.show {
    display: block; /* Makes dropdown visible when triggered */
}

/* Dropdown Header Styling */
.dropdown-header {
    display: block;
    padding: .5rem 1rem; /* Padding inside the header */
    margin-bottom: 0; /* Removes default margin */
    font-size: .875rem; /* Slightly smaller font size */
    color: #6c757d; /* Muted text color */
    white-space: nowrap; /* Prevents text wrapping */
}

/* Dropdown Item Text Styling */
.dropdown-item-text {
    display: block;
    padding: .25rem 1rem; /* Padding inside the item */
    color: #212529; /* Standard text color */
}

/* Dark Theme Dropdown Menu */
.dropdown-menu-dark {
    color: #dee2e6; /* Light text color */
    background-color: #343a40; /* Dark background */
    border-color: rgba(0, 0, 0, 0.15); /* Subtle border */
}

.dropdown-menu-dark .dropdown-item {
    color: #dee2e6; /* Light text color for items */
}

.dropdown-menu-dark .dropdown-item:hover,
.dropdown-menu-dark .dropdown-item:focus {
    color: #fff; /* White text on hover */
    background-color: rgba(255, 255, 255, 0.15); /* Slight white background tint */
}

.dropdown-menu-dark .dropdown-item.active,
.dropdown-menu-dark .dropdown-item:active {
    color: #fff; /* White text when active */
    background-color: #06A3DA; /* Light blue background for active items */
}

.dropdown-menu-dark .dropdown-item.disabled,
.dropdown-menu-dark .dropdown-item:disabled {
    color: #adb5bd; /* Disabled item text color */
}

.dropdown-menu-dark .dropdown-divider {
    border-color: rgba(0, 0, 0, 0.15); /* Divider styling */
}

.dropdown-menu-dark .dropdown-item-text {
    color: #dee2e6; /* Light text color */
}

.dropdown-menu-dark .dropdown-header {
    color: #adb5bd; /* Muted text color for header in dark theme */
}

/* Button Group and Vertical Button Group */
.btn-group,
.btn-group-vertical {
    position: relative;
    display: inline-flex; /* Flexbox for alignment */
    vertical-align: middle; /* Middle aligned */
}

.btn-group > .btn,
.btn-group-vertical > .btn {
    position: relative;
    flex: 1 1 auto; /* Flex-grow for buttons */
}

/* Button Group Hover, Focus, Active States */
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
    z-index: 1; /* Ensures the hovered/active button appears above others */
}

/* Button Toolbar */
.btn-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* Aligns toolbar to the start */
}

.btn-toolbar .input-group {
    width: auto; /* Allows input group inside button toolbar to auto size */
}

/* Button Group Rounded Corners */
.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
    margin-left: -1px; /* Removes gap between buttons */
}

.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; /* Removes right-side border radius on non-last buttons */
}

.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; /* Removes left-side border radius on certain buttons */
}

/* Dropdown Toggle Split Button */
.dropdown-toggle-split {
    padding-right: .5625rem;
    padding-left: .5625rem; /* Adjusts padding for split toggle */
}

.dropdown-toggle-split::after,
.dropup .dropdown-toggle-split::after,
.dropend .dropdown-toggle-split::after {
    margin-left: 0; /* Removes left margin from split toggle arrow */
}

/* Dropstart Dropdown Toggle Split Style */
.dropstart .dropdown-toggle-split::before {
    margin-right: 0; /* No margin for the split toggle */
}

/* Button Group with Small Size */
.btn-sm + .dropdown-toggle-split,
.btn-group-sm > .btn + .dropdown-toggle-split {
    padding-right: .375rem; /* Right padding */
    padding-left: .375rem; /* Left padding */
}

/* Button Group with Large Size */
.btn-lg + .dropdown-toggle-split,
.btn-group-lg > .btn + .dropdown-toggle-split {
    padding-right: .75rem; /* Right padding */
    padding-left: .75rem; /* Left padding */
}

/* Vertical Button Group Styles */
.btn-group-vertical {
    flex-direction: column; /* Arrange items vertically */
    align-items: flex-start; /* Align to the start */
    justify-content: center; /* Center items */
}

/* Full Width for Vertical Button Group Items */
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
    width: 100%; /* Full width */
}

/* Margin for Vertical Button Group Items */
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
    margin-top: -1px; /* Negative margin to overlap */
}

/* Border Radius for Vertical Button Group Items */
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
    border-bottom-right-radius: 0; /* No bottom right radius */
    border-bottom-left-radius: 0; /* No bottom left radius */
}

.btn-group-vertical > .btn ~ .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0; /* No top left radius */
    border-top-right-radius: 0; /* No top right radius */
}



/* Card Component Styles */
.card {
    position: relative; /* Positioning context for child elements */
    display: flex; /* Flexbox layout */
    flex-direction: column; /* Column layout */
    min-width: 0; /* Minimum width set to 0 */
    word-wrap: break-word; /* Break words as necessary */
    background-color: #fff; /* Background color */
    background-clip: border-box; /* Clip background within border */
    border: 1px solid rgba(0, 0, 0, 0.125); /* Border color */
    border-radius: 2px; /* Rounded corners */
}

/* Card Horizontal Rule */
.card > hr {
    margin-right: 0; /* No right margin */
    margin-left: 0; /* No left margin */
}

/* Card List Group Borders */
.card > .list-group {
    border-top: inherit; /* Inherit border from card */
    border-bottom: inherit; /* Inherit border from card */
}

/* First Child List Group Styles */
.card > .list-group:first-child {
    border-top-width: 0; /* No top border */
    border-top-left-radius: 1px; /* Rounded left top corner */
    border-top-right-radius: 1px; /* Rounded right top corner */
}

/* Last Child List Group Styles */
.card > .list-group:last-child {
    border-bottom-width: 0; /* No bottom border */
    border-bottom-right-radius: 1px; /* Rounded right bottom corner */
    border-bottom-left-radius: 1px; /* Rounded left bottom corner */
}

/* Card Border Adjustments */
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
    border-top: 0;
}

/* Card Body Styling */
.card-body {
    flex: 1 1 auto;
    padding: 1rem 1rem;
}

/* Card Title and Subtitle Margins */
.card-title {
    margin-bottom: .5rem;
}

.card-subtitle {
    margin-top: -.25rem;
    margin-bottom: 0;
}

/* Remove Margin from Last Card Text */
.card-text:last-child {
    margin-bottom: 0;
}

/* Card Link Hover */
.card-link:hover {
    text-decoration: none;
}

/* Margin Between Card Links */
.card-link + .card-link {
    margin-left: 1rem;
}

/* Card Header Styling */
.card-header {
    padding: .5rem 1rem;
    margin-bottom: 0;
    background-color: rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
}

/* Rounded Corners for First Card Header */
.card-header:first-child {
    border-radius: 1px 1px 0 0;
}

/* Card Footer Styling */
.card-footer {
    padding: .5rem 1rem;
    background-color: rgba(0, 0, 0, 0.03);
    border-top: 1px solid rgba(0, 0, 0, 0.125);
}

/* Rounded Corners for Last Card Footer */
.card-footer:last-child {
    border-radius: 0 0 1px 1px;
}

/* Card Header Tabs Styling */
.card-header-tabs {
    margin-right: -.5rem;
    margin-bottom: -.5rem;
    margin-left: -.5rem;
    border-bottom: 0;
}

/* Card Header Pills Styling */
.card-header-pills {
    margin-right: -.5rem;
    margin-left: -.5rem;
}

/* Card Image Overlay */
.card-img-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 1rem;
    border-radius: 1px;
}

/* Full Width Card Images */
.card-img,
.card-img-top,
.card-img-bottom {
    width: 100%;
}

/* Rounded Corners for Top Card Image */
.card-img,
.card-img-top {
    border-top-left-radius: 1px;
    border-top-right-radius: 1px;
}

/* Rounded Corners for Bottom Card Image */
.card-img,
.card-img-bottom {
    border-bottom-right-radius: 1px;
    border-bottom-left-radius: 1px;
}
          
/* Card Group Styles */
.card-group > .card {
    margin-bottom: .75rem; /* Margin at the bottom of each card in the group */
}

/* Responsive Card Group Styles for Small Screens and Above */
@media (min-width: 576px) {
    .card-group {
        display: flex; /* Flexbox layout for the card group */
        flex-flow: row wrap; /* Allow cards to wrap in a row */
    }

    .card-group > .card {
        flex: 1 0 0%; /* Allow cards to grow and take available space */
        margin-bottom: 0; /* Remove bottom margin in flex layout */
    }

    .card-group > .card + .card {
        margin-left: 0; /* No left margin for adjacent cards */
        border-left: 0; /* No left border for adjacent cards */
    }

    /* Style for all but the last card in the group */
    .card-group > .card:not(:last-child) {
        border-top-right-radius: 0; /* Remove top right radius */
        border-bottom-right-radius: 0; /* Remove bottom right radius */
    }

    /* Card image and header styles for all but the last card */
    .card-group > .card:not(:last-child) .card-img-top,
    .card-group > .card:not(:last-child) .card-header {
        border-top-right-radius: 0; /* Remove top right radius */
    }

    /* Card image and footer styles for all but the last card */
    .card-group > .card:not(:last-child) .card-img-bottom,
    .card-group > .card:not(:last-child) .card-footer {
        border-bottom-right-radius: 0; /* Remove bottom right radius */
    }

    /* Style for all but the first card in the group */
    .card-group > .card:not(:first-child) {
        border-top-left-radius: 0; /* Remove top left radius */
        border-bottom-left-radius: 0; /* Remove bottom left radius */
    }

    /* Card image and header styles for all but the first card */
    .card-group > .card:not(:first-child) .card-img-top,
    .card-group > .card:not(:first-child) .card-header {
        border-top-left-radius: 0; /* Remove top left radius */
    }

    /* Card image and footer styles for all but the first card */
    .card-group > .card:not(:first-child) .card-img-bottom,
    .card-group > .card:not(:first-child) .card-footer {
        border-bottom-left-radius: 0; /* Remove bottom left radius */
    }
}

/* Accordion Button Styles */
.accordion-button {
    position: relative; /* Positioning context for child elements */
    display: flex; /* Flexbox layout */
    align-items: center; /* Center items vertically */
    width: 100%; /* Full width */
    padding: 1rem 1.25rem; /* Padding for button */
    font-size: 1rem; /* Font size */
    color: #6B6A75; /* Text color */
    text-align: left; /* Left-aligned text */
    background-color: #fff; /* Background color */
    border: 0; /* No border */
    border-radius: 0; /* No border radius */
    overflow-anchor: none; /* Prevent scroll anchoring */
    transition: color 0.15s ease-in-out, 
                background-color 0.15s ease-in-out, 
                border-color 0.15s ease-in-out, 
                box-shadow 0.15s ease-in-out, 
                border-radius 0.15s ease; /* Smooth transitions for various properties */
}

/* Reduce Motion Preference Handling */
@media (prefers-reduced-motion: reduce) {
    .accordion-button {
        transition: none; /* Disable transitions */
    }
}

/* Accordion Button Active State */
.accordion-button:not(.collapsed) {
    color: #0593c4; /* Active text color */
    background-color: #e6f6fb; /* Active background color */
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125); /* Box shadow for active state */
}
                
/* Accordion Button Expanded State Icon */
.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230593c4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    transform: rotate(-180deg);
}

/* Accordion Button Default Icon */
.accordion-button::after {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: auto;
    content: "";
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236B6A75'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: 1.25rem;
    transition: transform 0.2s ease-in-out;
}

/* Reduced Motion Preference */
@media (prefers-reduced-motion: reduce) {
    .accordion-button::after {
        transition: none;
    }
}

/* Accordion Button Hover State */
.accordion-button:hover {
    z-index: 2;
}

/* Accordion Button Focus State */
.accordion-button:focus {
    z-index: 3;
    border-color: #83d1ed;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(6,163,218,0.25);
}

/* Accordion Header Styling */
.accordion-header {
    margin-bottom: 0;
}

/* Accordion Item Styling */
.accordion-item {
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.125);
}

/* First Accordion Item Rounded Corners */
.accordion-item:first-of-type {
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
}

/* Accordion Item Styles */
.accordion-item:first-of-type .accordion-button {
    border-top-left-radius: 1px; /* Round top-left corner of the first accordion button */
    border-top-right-radius: 1px; /* Round top-right corner of the first accordion button */
}

.accordion-item:not(:first-of-type) {
    border-top: 0; /* No top border for non-first accordion items */
}

.accordion-item:last-of-type {
    border-bottom-right-radius: 2px; /* Round bottom-right corner of the last accordion item */
    border-bottom-left-radius: 2px; /* Round bottom-left corner of the last accordion item */
}

.accordion-item:last-of-type .accordion-button.collapsed {
    border-bottom-right-radius: 1px; /* Round bottom-right corner for collapsed last button */
    border-bottom-left-radius: 1px; /* Round bottom-left corner for collapsed last button */
}

.accordion-item:last-of-type .accordion-collapse {
    border-bottom-right-radius: 2px; /* Round corners for the last accordion collapse */
    border-bottom-left-radius: 2px; /* Round corners for the last accordion collapse */
}

/* Accordion Body Styles */
.accordion-body {
    padding: 1rem 1.25rem; /* Padding for the accordion body */
}

/* Accordion Flush Styles */
.accordion-flush .accordion-collapse {
    border-width: 0; /* No border for flush accordion collapse */
}

.accordion-flush .accordion-item {
    border-right: 0; /* No right border for flush accordion items */
    border-left: 0; /* No left border for flush accordion items */
    border-radius: 0; /* No border radius for flush accordion items */
}

.accordion-flush .accordion-item:first-child {
    border-top: 0; /* No top border for the first flush accordion item */
}

.accordion-flush .accordion-item:last-child {
    border-bottom: 0; /* No bottom border for the last flush accordion item */
}

.accordion-flush .accordion-item .accordion-button {
    border-radius: 0; /* No border radius for buttons in flush accordion items */
}

/* Breadcrumb Styles */
.breadcrumb {
    display: flex; /* Flexbox layout for breadcrumb */
    flex-wrap: wrap; /* Allow wrapping of breadcrumb items */
    padding: 0 0; /* No padding */
    margin-bottom: 1rem; /* Margin at the bottom */
    list-style: none; /* No list style */
}

.breadcrumb-item + .breadcrumb-item {
    padding-left: .5rem; /* Left padding for breadcrumb items */
}

.breadcrumb-item + .breadcrumb-item::before {
    float: left; /* Float the divider to the left */
    padding-right: .5rem; /* Right padding for divider */
    color: #6c757d; /* Color for the divider */
    content: var(--bs-breadcrumb-divider, "/"); /* Content for the divider */
    /* rtl: var(--bs-breadcrumb-divider, "/") - Right-to-left support */
}

.breadcrumb-item.active {
    color: #6c757d; /* Color for the active breadcrumb item */
}

/* Pagination Styles */
.pagination {
    display: flex; /* Flexbox layout for pagination */
    padding-left: 0; /* No left padding */
    list-style: none; /* No list style */
}

.page-link {
    position: relative; /* Positioning context */
    display: block; /* Block display for link */
    color: #06A3DA; /* Link color */
    background-color: #fff; /* Background color */
    border: 1px solid #dee2e6; /* Border for the link */
    transition: color 0.15s ease-in-out, /* Smooth color transition */
                background-color 0.15s ease-in-out, /* Smooth background transition */
                border-color 0.15s ease-in-out, /* Smooth border color transition */
                box-shadow 0.15s ease-in-out; /* Smooth box shadow transition */
}

/* Reduce Motion Preference Handling */
@media (prefers-reduced-motion: reduce) {
    .page-link {
        transition: none; /* Disable transitions */
    }
}

/* Page Link Hover State */
.page-link:hover {
    z-index: 2;
    color: #0582ae;
    background-color: #e9ecef;
    border-color: #dee2e6;
}

/* Page Link Focus State */
.page-link:focus {
    z-index: 3;
    color: #0582ae;
    background-color: #e9ecef;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(6,163,218,0.25);
}

/* Spacing for Non-First Child Page Links */
.page-item:not(:first-child) .page-link {
    margin-left: -1px;
}

/* Active Page Item Styling */
.page-item.active .page-link {
    z-index: 3;
    color: #fff;
    background-color: #06A3DA;
    border-color: #06A3DA;
}

/* Disabled Page Item Styling */
.page-item.disabled .page-link {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff;
    border-color: #dee2e6;
}

/* Page Link Padding */
.page-link {
    padding: .375rem .75rem;
}

/* First Page Link Rounded Corners */
.page-item:first-child .page-link {
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
}

/* Last Page Link Rounded Corners */
.page-item:last-child .page-link {
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
}

/* Large Pagination Page Link Styling */
.pagination-lg .page-link {
    padding: .75rem 1.5rem;
    font-size: 1.25rem;
}

/* Large Pagination First Page Link Rounded Corners */
.pagination-lg .page-item:first-child .page-link {
    border-top-left-radius: .3rem;
    border-bottom-left-radius: .3rem;
}

/* Large Pagination Last Page Link Rounded Corners */
.pagination-lg .page-item:last-child .page-link {
    border-top-right-radius: .3rem;
    border-bottom-right-radius: .3rem;
}

/* Small Pagination Page Link Styling */
.pagination-sm .page-link {
    padding: .25rem .5rem;
    font-size: .875rem;
}

/* Small Pagination First Page Link Rounded Corners */
.pagination-sm .page-item:first-child .page-link {
    border-top-left-radius: .2rem;
    border-bottom-left-radius: .2rem;
}
                
/* Pagination Small Styles */
.pagination-sm .page-item:last-child .page-link {
    border-top-right-radius: .2rem; /* Round top-right corner of the last page link */
    border-bottom-right-radius: .2rem; /* Round bottom-right corner of the last page link */
}

/* Badge Styles */
.badge {
    display: inline-block; /* Inline-block display for badges */
    padding: .35em .65em; /* Padding around the badge */
    font-size: .75em; /* Font size */
    font-weight: 700; /* Bold font weight */
    line-height: 1; /* Line height */
    color: #fff; /* Text color */
    text-align: center; /* Center the text */
    white-space: nowrap; /* Prevent text wrapping */
    vertical-align: baseline; /* Align with the baseline */
    border-radius: 2px; /* Border radius for badges */
}

.badge:empty {
    display: none; /* Hide empty badges */
}

.btn .badge {
    position: relative; /* Position relative to the button */
    top: -1px; /* Adjust vertical position */
}

/* Alert Styles */
.alert {
    position: relative; /* Positioning context */
    padding: 1rem 1rem; /* Padding for alerts */
    margin-bottom: 1rem; /* Bottom margin */
    border: 1px solid transparent; /* Border for alert */
    border-radius: 2px; /* Rounded corners */
}

.alert-heading {
    color: inherit; /* Inherit color for the alert heading */
}

.alert-link {
    font-weight: 700; /* Bold font for alert links */
}

.alert-dismissible {
    padding-right: 3rem; /* Padding to accommodate close button */
}

.alert-dismissible .btn-close {
    position: absolute; /* Position close button absolutely */
    top: 0; /* Align to top */
    right: 0; /* Align to right */
    z-index: 2; /* Higher z-index for visibility */
    padding: 1.25rem 1rem; /* Padding for the close button */
}

/* Alert Color Variants */
.alert-primary {
    color: #046283; /* Text color for primary alerts */
    background-color: #cdedf8; /* Background color for primary alerts */
    border-color: #b4e3f4; /* Border color for primary alerts */
}

.alert-primary .alert-link {
    color: #034e69; /* Link color for primary alerts */
}

.alert-secondary {
    color: #1f6832; /* Text color for secondary alerts */
    background-color: #d6efdd; /* Background color for secondary alerts */
    border-color: #c2e6cc; /* Border color for secondary alerts */
}

.alert-secondary .alert-link {
    color: #195328; /* Link color for secondary alerts */
}

.alert-success {
    color: #0f5132; /* Text color for success alerts */
    background-color: #d1e7dd; /* Background color for success alerts */
    border-color: #badbcc; /* Border color for success alerts */
}

.alert-success .alert-link {
    color: #0c4128; /* Link color for success alerts */
}

.alert-info {
    color: #055160; /* Text color for info alerts */
    background-color: #cff4fc; /* Background color for info alerts */
    border-color: #b6effb; /* Border color for info alerts */
}

.alert-info .alert-link {
    color: #04414d; /* Link color for info alerts */
}

.alert-warning {
    color: #664d03; /* Text color for warning alerts */
    background-color: #fff3cd; /* Background color for warning alerts */
    border-color: #ffecb5; /* Border color for warning alerts */
}

.alert-warning .alert-link {
    color: #523e02; /* Link color for warning alerts */
}

.alert-danger {
    color: #842029; /* Text color for danger alerts */
    background-color: #f8d7da; /* Background color for danger alerts */
    border-color: #f5c2c7; /* Border color for danger alerts */
}

.alert-danger .alert-link {
    color: #6a1a21; /* Link color for danger alerts */
}

.alert-light {
    color: #5f6466; /* Text color for light alerts */
    background-color: #fcfeff; /* Background color for light alerts */
    border-color: #fafdff; /* Border color for light alerts */
}

.alert-light .alert-link {
    color: #4c5052; /* Link color for light alerts */
}

.alert-dark {
    color: #051225; /* Text color for dark alerts */
    background-color: #ced2d8; /* Background color for dark alerts */
    border-color: #b5bcc5; /* Border color for dark alerts */
}

.alert-dark .alert-link {
    color: #040e1e; /* Link color for dark alerts */
}

/* Progress Bar Animation */
@keyframes progress-bar-stripes {
    0% {
        background-position-x: 1rem; /* Initial position for stripes */
    }
}
                
/* Progress Bar Container */
.progress {
    display: flex; /* Flexbox for alignment */
    height: 1rem; /* Height of the progress bar */
    overflow: hidden; /* Hide overflow content */
    font-size: .75rem; /* Font size */
    background-color: #e9ecef; /* Background color */
    border-radius: 2px; /* Rounded corners */
}

/* Progress Bar Inner Element */
.progress-bar {
    display: flex; /* Flexbox for alignment */
    flex-direction: column; /* Vertical layout */
    justify-content: center; /* Center content vertically */
    overflow: hidden; /* Hide overflow content */
    color: #fff; /* Text color */
    text-align: center; /* Center text */
    white-space: nowrap; /* Prevent text wrapping */
    background-color: #06A3DA; /* Background color */
    transition: width 0.6s ease; /* Smooth width transition */
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce) {
    .progress-bar {
        transition: none; /* Disable transition */
    }
}

/* Striped Progress Bar Background */
.progress-bar-striped {
    background-image: linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent); /* Striped pattern */
    background-size: 1rem 1rem; /* Size of the stripes */
}

/* Animated Progress Bar */
.progress-bar-animated {
    animation: 1s linear infinite progress-bar-stripes; /* Infinite stripes animation */
}

/* Reduce motion preference for animation */
@media (prefers-reduced-motion: reduce) {
    .progress-bar-animated {
        animation: none; /* Disable animation */
    }
}

/* List Group Styles */
.list-group {
    display: flex; /* Flexbox for layout */
    flex-direction: column; /* Vertical layout */
    padding-left: 0; /* Remove padding */
    margin-bottom: 0; /* Remove margin */
    border-radius: 2px; /* Rounded corners */
}

/* Numbered List Group */
.list-group-numbered {
    list-style-type: none; /* Remove default list styles */
    counter-reset: section; /* Reset counter */
}

/* List Item Counter */
.list-group-numbered > li::before {
    content: counters(section, ".") ". "; /* Display counter */
    counter-increment: section; /* Increment counter */
}

/* List Group Item Action Styles */
.list-group-item-action {
    width: 100%; /* Full width for action items */
    color: #495057; /* Default text color */
    text-align: inherit; /* Inherit text alignment */
}

.list-group-item-action:hover,
.list-group-item-action:focus {
    z-index: 1; /* Bring hovered/focused item to the front */
    color: #495057; /* Text color on hover/focus */
    text-decoration: none; /* No underline on hover/focus */
    background-color: #f8f9fa; /* Background color on hover/focus */
}

.list-group-item-action:active {
    color: #6B6A75; /* Text color when active */
    background-color: #e9ecef; /* Background color when active */
}

/* List Group Item Styles */
.list-group-item {
    position: relative; /* Positioning context for the item */
    display: block; /* Block display for list items */
    padding: .5rem 1rem; /* Padding for list items */
    color: #212529; /* Default text color */
    background-color: #fff; /* Background color for list items */
    border: 1px solid rgba(0, 0, 0, 0.125); /* Border color */
}

.list-group-item:first-child {
    border-top-left-radius: inherit; /* Round top-left corners */
    border-top-right-radius: inherit; /* Round top-right corners */
}

.list-group-item:last-child {
    border-bottom-right-radius: inherit; /* Round bottom-right corners */
    border-bottom-left-radius: inherit; /* Round bottom-left corners */
}

.list-group-item.disabled,
.list-group-item:disabled {
    color: #6c757d; /* Text color for disabled items */
    pointer-events: none; /* Disable pointer events */
    background-color: #fff; /* Background color for disabled items */
}

.list-group-item.active {
    z-index: 2; /* Bring active item to the front */
    color: #fff; /* Text color for active items */
    background-color: #06A3DA; /* Background color for active items */
    border-color: #06A3DA; /* Border color for active items */
}

.list-group-item + .list-group-item {
    border-top-width: 0; /* Remove top border between adjacent items */
}

.list-group-item + .list-group-item.active {
    margin-top: -1px; /* Remove margin for active items to connect borders */
}

/* Horizontal List Group Styles */
.list-group-horizontal {
    flex-direction: row; /* Arrange items in a row */
}

.list-group-horizontal > .list-group-item:first-child {
    border-bottom-left-radius: 2px; /* Round bottom-left corner */
    border-top-right-radius: 0; /* Remove top-right rounding */
}

.list-group-horizontal > .list-group-item:last-child {
    border-top-right-radius: 2px; /* Round top-right corner */
    border-bottom-left-radius: 0; /* Remove bottom-left rounding */
}

.list-group-horizontal > .list-group-item.active {
    margin-top: 0; /* Reset margin for active horizontal items */
}

/* Horizontal List Group Styles */
.list-group-horizontal > .list-group-item + .list-group-item {
    border-top-width: 1px; /* Sets top border width for adjacent items */
    border-left-width: 0; /* No left border between horizontal items */
}

.list-group-horizontal > .list-group-item + .list-group-item.active {
    margin-left: -1px; /* Prevents margin on active item */
    border-left-width: 1px; /* Sets left border for active adjacent items */
}

/* Responsive Styles for Small Devices */
@media (min-width: 576px) {
    .list-group-horizontal-sm {
        flex-direction: row; /* Align items in a row for small devices */
    }

    .list-group-horizontal-sm > .list-group-item:first-child {
        border-bottom-left-radius: 2px; /* Rounds bottom left corner for the first item */
        border-top-right-radius: 0; /* No rounding on top right corner */
    }

    .list-group-horizontal-sm > .list-group-item:last-child {
        border-top-right-radius: 2px; /* Rounds top right corner for the last item */
        border-bottom-left-radius: 0; /* No rounding on bottom left corner */
    }

    .list-group-horizontal-sm > .list-group-item.active {
        margin-top: 0; /* Resets margin-top for active item */
    }

    .list-group-horizontal-sm > .list-group-item + .list-group-item {
        border-top-width: 1px; /* Sets top border width for adjacent items */
        border-left-width: 0; /* No left border between horizontal items */
    }

    .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
        margin-left: -1px; /* Prevents margin on active item */
        border-left-width: 1px; /* Sets left border for active adjacent items */
    }
}
               
/* Responsive Styles for Horizontal List Groups */

/* Medium Devices: 768px and up */
@media (min-width: 768px) {
    .list-group-horizontal-md {
        flex-direction: row; /* Arrange items in a row */
    }
    
    .list-group-horizontal-md > .list-group-item:first-child {
        border-bottom-left-radius: 2px; /* Round bottom-left corner */
        border-top-right-radius: 0; /* Remove top-right rounding */
    }
    
    .list-group-horizontal-md > .list-group-item:last-child {
        border-top-right-radius: 2px; /* Round top-right corner */
        border-bottom-left-radius: 0; /* Remove bottom-left rounding */
    }
    
    .list-group-horizontal-md > .list-group-item.active {
        margin-top: 0; /* Reset margin for active items */
    }
    
    .list-group-horizontal-md > .list-group-item + .list-group-item {
        border-top-width: 1px; /* Add top border for adjacent items */
        border-left-width: 0; /* Remove left border for adjacent items */
    }
    
    .list-group-horizontal-md > .list-group-item + .list-group-item.active {
        margin-left: -1px; /* Adjust margin for active items to connect borders */
        border-left-width: 1px; /* Add left border for active adjacent items */
    }
}

/* Large Devices: 992px and up */
@media (min-width: 992px) {
    .list-group-horizontal-lg {
        flex-direction: row; /* Arrange items in a row */
    }
    
    .list-group-horizontal-lg > .list-group-item:first-child {
        border-bottom-left-radius: 2px; /* Round bottom-left corner */
        border-top-right-radius: 0; /* Remove top-right rounding */
    }
    
    .list-group-horizontal-lg > .list-group-item:last-child {
        border-top-right-radius: 2px; /* Round top-right corner */
        border-bottom-left-radius: 0; /* Remove bottom-left rounding */
    }
    
    .list-group-horizontal-lg > .list-group-item.active {
        margin-top: 0; /* Reset margin for active items */
    }
    
    .list-group-horizontal-lg > .list-group-item + .list-group-item {
        border-top-width: 1px; /* Add top border for adjacent items */
        border-left-width: 0; /* Remove left border for adjacent items */
    }
    
    .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
        margin-left: -1px; /* Adjust margin for active items to connect borders */
        border-left-width: 1px; /* Add left border for active adjacent items */
    }
}

/* Extra Large Devices: 1200px and up */
@media (min-width: 1200px) {
    .list-group-horizontal-xl {
        flex-direction: row; /* Arrange items in a row */
    }
    
    .list-group-horizontal-xl > .list-group-item:first-child {
        border-bottom-left-radius: 2px; /* Round bottom-left corner */
        border-top-right-radius: 0; /* Remove top-right rounding */
    }
    
    .list-group-horizontal-xl > .list-group-item:last-child {
        border-top-right-radius: 2px; /* Round top-right corner */
        border-bottom-left-radius: 0; /* Remove bottom-left rounding */
    }
    
    .list-group-horizontal-xl > .list-group-item.active {
        margin-top: 0; /* Reset margin for active items */
    }
    
    .list-group-horizontal-xl > .list-group-item + .list-group-item {
        border-top-width: 1px; /* Add top border for adjacent items */
        border-left-width: 0; /* Remove left border for adjacent items */
    }
    
    .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
        margin-left: -1px; /* Adjust margin for active items to connect borders */
        border-left-width: 1px; /* Add left border for active adjacent items */
    }
}
         
/* Media Query for Extra Extra Large Devices */
@media (min-width: 1400px) {
    .list-group-horizontal-xxl {
        flex-direction: row; /* Align items in a row for extra extra large devices */
    }
    
    .list-group-horizontal-xxl > .list-group-item:first-child {
        border-bottom-left-radius: 2px; /* Rounds bottom left corner for the first item */
        border-top-right-radius: 0; /* No rounding on top right corner */
    }
    
    .list-group-horizontal-xxl > .list-group-item:last-child {
        border-top-right-radius: 2px; /* Rounds top right corner for the last item */
        border-bottom-left-radius: 0; /* No rounding on bottom left corner */
    }
    
    .list-group-horizontal-xxl > .list-group-item.active {
        margin-top: 0; /* Resets margin-top for active item */
    }
    
    .list-group-horizontal-xxl > .list-group-item + .list-group-item {
        border-top-width: 1px; /* Sets top border width for adjacent items */
        border-left-width: 0; /* No left border between horizontal items */
    }
    
    .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
        margin-left: -1px; /* Prevents margin on active item */
        border-left-width: 1px; /* Sets left border for active adjacent items */
    }
}

/* Flush List Group Styles */
.list-group-flush {
    border-radius: 0; /* No border radius for flush list groups */
}

.list-group-flush > .list-group-item {
    border-width: 0 0 1px; /* Only sets bottom border */
}

.list-group-flush > .list-group-item:last-child {
    border-bottom-width: 0; /* Removes bottom border for the last item */
}

/* Primary List Group Item Styles */
.list-group-item-primary {
    color: #046283; /* Text color for primary items */
    background-color: #cdedf8; /* Background color for primary items */
}

.list-group-item-primary.list-group-item-action:hover,
.list-group-item-primary.list-group-item-action:focus {
    color: #046283; /* Text color on hover or focus */
    background-color: #b9d5df; /* Background color on hover or focus */
}

.list-group-item-primary.list-group-item-action.active {
    color: #fff; /* White text color for active primary items */
    background-color: #046283; /* Background color for active primary items */
    border-color: #046283; /* Border color for active primary items */
}

/* Secondary List Group Item Styles */
.list-group-item-secondary {
    color: #1f6832; /* Text color for secondary items */
    background-color: #d6efdd; /* Background color for secondary items */
}

.list-group-item-secondary.list-group-item-action:hover,
.list-group-item-secondary.list-group-item-action:focus {
    color: #1f6832; /* Text color on hover or focus */
    background-color: #c1d7c7; /* Background color on hover or focus */
}

.list-group-item-secondary.list-group-item-action.active {
    color: #fff; /* White text color for active secondary items */
    background-color: #1f6832; /* Background color for active secondary items */
    border-color: #1f6832; /* Border color for active secondary items */
}

/* List Group Item States */

/* Success State */
.list-group-item-success {
    color: #0f5132; /* Text color for success */
    background-color: #d1e7dd; /* Background color for success */
}

.list-group-item-success.list-group-item-action:hover,
.list-group-item-success.list-group-item-action:focus {
    color: #0f5132; /* Text color on hover/focus */
    background-color: #bcd0c7; /* Background color on hover/focus */
}

.list-group-item-success.list-group-item-action.active {
    color: #fff; /* Text color for active state */
    background-color: #0f5132; /* Background color for active state */
    border-color: #0f5132; /* Border color for active state */
}

/* Info State */
.list-group-item-info {
    color: #055160; /* Text color for info */
    background-color: #cff4fc; /* Background color for info */
}

.list-group-item-info.list-group-item-action:hover,
.list-group-item-info.list-group-item-action:focus {
    color: #055160; /* Text color on hover/focus */
    background-color: #badce3; /* Background color on hover/focus */
}

.list-group-item-info.list-group-item-action.active {
    color: #fff; /* Text color for active state */
    background-color: #055160; /* Background color for active state */
    border-color: #055160; /* Border color for active state */
}

/* Warning State */
.list-group-item-warning {
    color: #664d03; /* Text color for warning */
    background-color: #fff3cd; /* Background color for warning */
}

.list-group-item-warning.list-group-item-action:hover,
.list-group-item-warning.list-group-item-action:focus {
    color: #664d03; /* Text color on hover/focus */
    background-color: #e6dbb9; /* Background color on hover/focus */
}

.list-group-item-warning.list-group-item-action.active {
    color: #fff; /* Text color for active state */
    background-color: #664d03; /* Background color for active state */
    border-color: #664d03; /* Border color for active state */
}

/* Danger State */
.list-group-item-danger {
    color: #842029; /* Text color for danger */
    background-color: #f8d7da; /* Background color for danger */
}

.list-group-item-danger.list-group-item-action:hover,
.list-group-item-danger.list-group-item-action:focus {
    color: #842029; /* Text color on hover/focus */
    background-color: #dfc2c4; /* Background color on hover/focus */
}

.list-group-item-danger.list-group-item-action.active {
    color: #fff; /* Text color for active state */
    background-color: #842029; /* Background color for active state */
    border-color: #842029; /* Border color for active state */
}

/* Light State */
.list-group-item-light {
    color: #5f6466; /* Text color for light */
    background-color: #fcfeff; /* Background color for light */
}

.list-group-item-light.list-group-item-action:hover,
.list-group-item-light.list-group-item-action:focus {
    color: #5f6466; /* Text color on hover/focus */
    background-color: #e3e5e6; /* Background color on hover/focus */
}

.list-group-item-light.list-group-item-action.active {
    color: #fff; /* Text color for active state */
    background-color: #5f6466; /* Background color for active state */
    border-color: #5f6466; /* Border color for active state */
}

/* Dark State */
.list-group-item-dark {
    color: #051225; /* Text color for dark */
    background-color: #ced2d8; /* Background color for dark */
}

.list-group-item-dark.list-group-item-action:hover,
.list-group-item-dark.list-group-item-action:focus {
    color: #051225; /* Text color on hover/focus */
    background-color: #b9bdc2; /* Background color on hover/focus */
}

/* Dark List Group Item Active Styles */
.list-group-item-dark.list-group-item-action.active {
    color: #fff; /* White text color for active dark items */
    background-color: #051225; /* Dark background for active items */
    border-color: #051225; /* Border color matches background */
}

/* Close Button Styles */
.btn-close {
    box-sizing: content-box; /* Content box sizing for the button */
    width: 1em; /* Width of the button */
    height: 1em; /* Height of the button */
    padding: .25em; /* Padding inside the button */
    color: #000; /* Black color for the button */
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; /* Close icon as background */
    border: 0; /* No border */
    border-radius: 2px; /* Rounded corners */
    opacity: .5; /* Initial opacity */
}

.btn-close:hover {
    color: #000; /* Black color on hover */
    text-decoration: none; /* No underline on hover */
    opacity: .75; /* Increase opacity on hover */
}

.btn-close:focus {
    outline: 0; /* No outline on focus */
    box-shadow: 0 0 0 .25rem rgba(6, 163, 218, 0.25); /* Box shadow on focus */
    opacity: 1; /* Full opacity on focus */
}

.btn-close:disabled,
.btn-close.disabled {
    pointer-events: none; /* Disable interactions */
    user-select: none; /* Prevent text selection */
    opacity: .25; /* Reduced opacity when disabled */
}

/* White Close Button Styles */
.btn-close-white {
    filter: invert(1) grayscale(100%) brightness(200%); /* Styles for white close button */
}

/* Toast Component Styles */
.toast {
    width: 350px; /* Fixed width for toast */
    max-width: 100%; /* Responsive width */
    font-size: .875rem; /* Font size for toast text */
    pointer-events: auto; /* Enable pointer events */
    background-color: rgba(255, 255, 255, 0.85); /* Light background for toast */
    background-clip: padding-box; /* Clip background to padding */
    border: 1px solid rgba(0, 0, 0, 0.1); /* Light border */
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); /* Shadow effect */
    border-radius: 2px; /* Rounded corners */
}

.toast:not(.showing):not(.show) {
    opacity: 0; /* Fully transparent when not showing */
}

.toast.hide {
    display: none; /* Hide toast when not visible */
}

/* Toast Container Styles */
.toast-container {
    width: max-content; /* Container adjusts to content width */
    max-width: 100%; /* Responsive maximum width */
    pointer-events: none; /* Disable interactions */
}

.toast-container > :not(:last-child) {
    margin-bottom: .75rem; /* Space between toast items */
}

/* Toast Header Styles */
.toast-header {
    display: flex; /* Flex layout for header */
    align-items: center; /* Center items vertically */
    padding: .5rem .75rem; /* Padding for header */
    color: #6c757d; /* Text color for header */
    background-color: rgba(255, 255, 255, 0.85); /* Light background for header */
    background-clip: padding-box; /* Clip background to padding */
    border-bottom: 1px solid rgba(0, 0, 0, 0.05); /* Bottom border */
    border-top-left-radius: 1px; /* Rounded top left corner */
    border-top-right-radius: 1px; /* Rounded top right corner */
}

.toast-header .btn-close {
    margin-right: -0.375rem; /* Negative margin to overlap */
    margin-left: 0.75rem; /* Margin to the left */
}

/* Toast Body Styles */
.toast-body {
    padding: .75rem; /* Padding for body */
    word-wrap: break-word; /* Allow word wrapping */
}

/* Modal Open Styles */
.modal-open {
    overflow: hidden; /* Prevent scrolling when modal is open */
}
 
/* Modal Styles */

/* When modal is open */
.modal-open .modal {
    overflow-x: hidden; /* Prevent horizontal scroll */
    overflow-y: auto; /* Allow vertical scroll */
}

/* Basic modal structure */
.modal {
    position: fixed; /* Fixed positioning */
    top: 0; /* Align to top */
    left: 0; /* Align to left */
    z-index: 1060; /* Stack above other elements */
    display: none; /* Initially hidden */
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: hidden; /* No overflow */
    outline: 0; /* No outline */
}

/* Modal dialog */
.modal-dialog {
    position: relative; /* Relative positioning */
    width: auto; /* Auto width */
    margin: .5rem; /* Margin around modal */
    pointer-events: none; /* Prevent interaction with the dialog while transitioning */
}

/* Fade transition for modal dialog */
.modal.fade .modal-dialog {
    transition: transform 0.3s ease-out; /* Smooth transition */
    transform: translate(0, -50px); /* Initial position for the fade */
}

/* Disable transition for reduced motion */
@media (prefers-reduced-motion: reduce) {
    .modal.fade .modal-dialog {
        transition: none; /* No transition */
    }
}

/* Show state */
.modal.show .modal-dialog {
    transform: none; /* Reset transform */
}

/* Static modal effect */
.modal.modal-static .modal-dialog {
    transform: scale(1.02); /* Slight scale effect */
}

/* Scrollable modal */
.modal-dialog-scrollable {
    height: calc(100% - 1rem); /* Adjust height */
}

.modal-dialog-scrollable .modal-content {
    max-height: 100%; /* Maximum height */
    overflow: hidden; /* No overflow */
}

.modal-dialog-scrollable .modal-body {
    overflow-y: auto; /* Vertical scrolling */
}

/* Centered modal */
.modal-dialog-centered {
    display: flex; /* Flexbox for centering */
    align-items: center; /* Center items */
    min-height: calc(100% - 1rem); /* Minimum height */
}

/* Modal content */
.modal-content {
    position: relative; /* Relative positioning */
    display: flex; /* Flexbox layout */
    flex-direction: column; /* Column direction */
    width: 100%; /* Full width */
    pointer-events: auto; /* Allow interaction */
    background-color: #fff; /* Background color */
    background-clip: padding-box; /* Background clip */
    border: 1px solid rgba(0, 0, 0, 0.2); /* Border */
    border-radius: .3rem; /* Rounded corners */
    outline: 0; /* No outline */
}

/* Modal backdrop */
.modal-backdrop {
    position: fixed; /* Fixed positioning */
    top: 0; /* Align to top */
    left: 0; /* Align to left */
    z-index: 1040; /* Stack below modal */
    width: 100vw; /* Full viewport width */
    height: 100vh; /* Full viewport height */
    background-color: #000; /* Black background */
}

/* Fade effect for backdrop */
.modal-backdrop.fade {
    opacity: 0; /* Initially invisible */
}

.modal-backdrop.show {
    opacity: .5; /* Semi-transparent when shown */
}

/* Modal header */
.modal-header {
    display: flex; /* Flexbox layout */
    flex-shrink: 0; /* Prevent shrinking */
    align-items: center; /* Center items */
    justify-content: space-between; /* Space between items */
    padding: 1rem 1rem; /* Padding */
    border-bottom: 1px solid #dee2e6; /* Bottom border */
    border-top-left-radius: calc(.3rem - 1px); /* Rounded top-left */
    border-top-right-radius: calc(.3rem - 1px); /* Rounded top-right */
}

/* Close button in modal header */
.modal-header .btn-close {
    padding: .5rem .5rem; /* Padding */
    margin: -.5rem -.5rem -.5rem auto; /* Margin */
}

/* Modal title */
.modal-title {
    margin-bottom: 0; /* No bottom margin */
    line-height: 1.5; /* Line height */
}

/* Modal body */
.modal-body {
    position: relative; /* Relative positioning */
    flex: 1 1 auto; /* Flex item */
    padding: 1rem; /* Padding */
}

/* Modal Footer Styles */
.modal-footer {
    display: flex; /* Flexbox layout for footer */
    flex-wrap: wrap; /* Allow wrapping of footer items */
    flex-shrink: 0; /* Prevent footer from shrinking */
    align-items: center; /* Align items vertically in the center */
    justify-content: flex-end; /* Align items to the right */
    padding: .75rem; /* Padding around the footer */
    border-top: 1px solid #dee2e6; /* Top border */
    border-bottom-right-radius: calc(.3rem - 1px); /* Rounded bottom right corner */
    border-bottom-left-radius: calc(.3rem - 1px); /* Rounded bottom left corner */
}

.modal-footer > * {
    margin: .25rem; /* Margin around footer items */
}

/* Responsive Modal Styles */
@media (min-width: 576px) {
    .modal-dialog {
        max-width: 500px; /* Maximum width for modal on small screens */
        margin: 1.75rem auto; /* Centering modal */
    }
    .modal-dialog-scrollable {
        height: calc(100% - 3.5rem); /* Adjust height for scrollable dialog */
    }
    .modal-dialog-centered {
        min-height: calc(100% - 3.5rem); /* Center modal vertically */
    }
    .modal-sm {
        max-width: 300px; /* Maximum width for small modals */
    }
}

@media (min-width: 992px) {
    .modal-lg,
    .modal-xl {
        max-width: 800px; /* Maximum width for large and extra-large modals */
    }
}

@media (min-width: 1200px) {
    .modal-xl {
        max-width: 1140px; /* Maximum width for extra-large modals */
    }
}

/* Fullscreen Modal Styles */
.modal-fullscreen {
    width: 100vw; /* Full width of the viewport */
    max-width: none; /* No maximum width */
    height: 100%; /* Full height */
    margin: 0; /* No margin */
}

.modal-fullscreen .modal-content {
    height: 100%; /* Full height of modal content */
    border: 0; /* No border */
    border-radius: 0; /* No rounded corners */
}

.modal-fullscreen .modal-header {
    border-radius: 0; /* No rounded corners for header */
}

.modal-fullscreen .modal-body {
    overflow-y: auto; /* Scrollable body */
}

.modal-fullscreen .modal-footer {
    border-radius: 0; /* No rounded corners for footer */
}

/* Responsive Fullscreen Modal Styles */
@media (max-width: 575.98px) {
    .modal-fullscreen-sm-down {
        width: 100vw; /* Full width of the viewport */
        max-width: none; /* No maximum width */
        height: 100%; /* Full height */
        margin: 0; /* No margin */
    }

    .modal-fullscreen-sm-down .modal-content {
        height: 100%; /* Full height for content */
        border: 0; /* No border */
        border-radius: 0; /* No rounded corners */
    }

    .modal-fullscreen-sm-down .modal-header {
        border-radius: 0; /* No rounded corners for header */
    }
}
  
/* Fullscreen Modal Styles */

/* For small devices and below */
.modal-fullscreen-sm-down .modal-body {
    overflow-y: auto; /* Allow vertical scrolling */
}

.modal-fullscreen-sm-down .modal-footer {
    border-radius: 0; /* Remove border radius */
}

/* Media query for medium devices and below */
@media (max-width: 767.98px) {
    .modal-fullscreen-md-down {
        width: 100vw; /* Full viewport width */
        max-width: none; /* Remove max width */
        height: 100%; /* Full height */
        margin: 0; /* No margin */
    }

    .modal-fullscreen-md-down .modal-content {
        height: 100%; /* Full height */
        border: 0; /* No border */
        border-radius: 0; /* No border radius */
    }

    .modal-fullscreen-md-down .modal-header {
        border-radius: 0; /* No border radius */
    }

    .modal-fullscreen-md-down .modal-body {
        overflow-y: auto; /* Allow vertical scrolling */
    }

    .modal-fullscreen-md-down .modal-footer {
        border-radius: 0; /* No border radius */
    }
}

/* Media query for large devices and below */
@media (max-width: 991.98px) {
    .modal-fullscreen-lg-down {
        width: 100vw; /* Full viewport width */
        max-width: none; /* Remove max width */
        height: 100%; /* Full height */
        margin: 0; /* No margin */
    }

    .modal-fullscreen-lg-down .modal-content {
        height: 100%; /* Full height */
        border: 0; /* No border */
        border-radius: 0; /* No border radius */
    }

    .modal-fullscreen-lg-down .modal-header {
        border-radius: 0; /* No border radius */
    }

    .modal-fullscreen-lg-down .modal-body {
        overflow-y: auto; /* Allow vertical scrolling */
    }

    .modal-fullscreen-lg-down .modal-footer {
        border-radius: 0; /* No border radius */
    }
}

/* Media query for extra large devices and below */
@media (max-width: 1199.98px) {
    .modal-fullscreen-xl-down {
        width: 100vw; /* Full viewport width */
        max-width: none; /* Remove max width */
        height: 100%; /* Full height */
        margin: 0; /* No margin */
    }

    .modal-fullscreen-xl-down .modal-content {
        height: 100%; /* Full height */
        border: 0; /* No border */
        border-radius: 0; /* No border radius */
    }

    .modal-fullscreen-xl-down .modal-header {
        border-radius: 0; /* No border radius */
    }

    .modal-fullscreen-xl-down .modal-body {
        overflow-y: auto; /* Allow vertical scrolling */
    }

    .modal-fullscreen-xl-down .modal-footer {
        border-radius: 0; /* No border radius */
    }
}

/* Media query for double extra large devices and below */
@media (max-width: 1399.98px) {
    .modal-fullscreen-xxl-down {
        width: 100vw; /* Full viewport width */
        max-width: none; /* Remove max width */
        height: 100%; /* Full height */
        margin: 0; /* No margin */
    }

    .modal-fullscreen-xxl-down .modal-content {
        height: 100%; /* Full height */
        border: 0; /* No border */
        border-radius: 0; /* No border radius */
    }

    .modal-fullscreen-xxl-down .modal-header {
        border-radius: 0; /* No border radius */
    }

    .modal-fullscreen-xxl-down .modal-body {
        overflow-y: auto; /* Allow vertical scrolling */
    }
}
                            
/* Fullscreen Modal Styles for XXL Down */
.modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0; /* No rounded corners for footer */
}

/* Tooltip Styles */
.tooltip {
    position: absolute; /* Positioned absolutely */
    z-index: 1080; /* Stack order */
    display: block; /* Display as block element */
    margin: 0; /* No margin */
    font-family: "Rubik", sans-serif; /* Font settings */
    font-style: normal; /* Normal font style */
    font-weight: 400; /* Normal font weight */
    line-height: 1.5; /* Line height */
    text-align: left; /* Left aligned text */
    text-decoration: none; /* No text decoration */
    text-shadow: none; /* No text shadow */
    text-transform: none; /* No text transformation */
    letter-spacing: normal; /* Normal letter spacing */
    word-break: normal; /* Normal word breaking */
    word-spacing: normal; /* Normal word spacing */
    white-space: normal; /* Normal white space */
    line-break: auto; /* Automatic line break */
    font-size: .875rem; /* Font size */
    word-wrap: break-word; /* Break long words */
    opacity: 0; /* Initially invisible */
}

.tooltip.show {
    opacity: .9; /* Show tooltip with opacity */
}

/* Tooltip Arrow Styles */
.tooltip .tooltip-arrow {
    position: absolute; /* Positioned absolutely */
    display: block; /* Display as block element */
    width: .8rem; /* Width of the arrow */
    height: .4rem; /* Height of the arrow */
}

.tooltip .tooltip-arrow::before {
    position: absolute; /* Positioned absolutely */
    content: ""; /* Empty content */
    border-color: transparent; /* Transparent border color */
    border-style: solid; /* Solid border style */
}

/* Tooltip Placement - Top */
.bs-tooltip-top,
.bs-tooltip-auto[data-popper-placement^="top"] {
    padding: .4rem 0; /* Vertical padding for top placement */
}

.bs-tooltip-top .tooltip-arrow,
.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow {
    bottom: 0; /* Arrow positioned at the bottom */
}

.bs-tooltip-top .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
    top: -1px; /* Position the arrow at the top */
    border-width: .4rem .4rem 0; /* Arrow border widths */
    border-top-color: #000; /* Arrow color */
}

/* Tooltip Placement - End */
.bs-tooltip-end,
.bs-tooltip-auto[data-popper-placement^="right"] {
    padding: 0 .4rem; /* Horizontal padding for end placement */
}

.bs-tooltip-end .tooltip-arrow,
.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow {
    left: 0; /* Arrow positioned on the left */
    width: .4rem; /* Width of the arrow */
    height: .8rem; /* Height of the arrow */
}

.bs-tooltip-end .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
    right: -1px; /* Position the arrow on the right */
    border-width: .4rem .4rem .4rem 0; /* Arrow border widths */
    border-right-color: #000; /* Arrow color */
}
              
               
/* Tooltip Styles */

/* Tooltip positioned at the bottom */
.bs-tooltip-bottom,
.bs-tooltip-auto[data-popper-placement^="bottom"] {
    padding: .4rem 0; /* Padding for tooltip */
}

/* Tooltip arrow for bottom placement */
.bs-tooltip-bottom .tooltip-arrow,
.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow {
    top: 0; /* Position the arrow at the top */
}

/* Tooltip arrow before element for bottom placement */
.bs-tooltip-bottom .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
    bottom: -1px; /* Position below the arrow */
    border-width: 0 .4rem .4rem; /* Arrow border width */
    border-bottom-color: #000; /* Arrow color */
}

/* Tooltip positioned at the left */
.bs-tooltip-start,
.bs-tooltip-auto[data-popper-placement^="left"] {
    padding: 0 .4rem; /* Padding for tooltip */
}

/* Tooltip arrow for left placement */
.bs-tooltip-start .tooltip-arrow,
.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow {
    right: 0; /* Position the arrow on the right */
    width: .4rem; /* Width of the arrow */
    height: .8rem; /* Height of the arrow */
}

/* Tooltip arrow before element for left placement */
.bs-tooltip-start .tooltip-arrow::before,
.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
    left: -1px; /* Position left of the arrow */
    border-width: .4rem 0 .4rem .4rem; /* Arrow border width */
    border-left-color: #000; /* Arrow color */
}

/* Tooltip inner content */
.tooltip-inner {
    max-width: 200px; /* Maximum width of tooltip */
    padding: .25rem .5rem; /* Padding for inner content */
    color: #fff; /* Text color */
    text-align: center; /* Center text alignment */
    background-color: #000; /* Background color */
    border-radius: 2px; /* Rounded corners */
}

/* Popover Styles */
.popover {
    position: absolute; /* Positioned absolutely */
    top: 0; /* Top position */
    left: 0; /* Left position */
    z-index: 1070; /* Z-index for stacking */
    display: block; /* Display as block */
    max-width: 276px; /* Maximum width of popover */
    font-family: "Rubik", sans-serif; /* Font family */
    font-style: normal; /* Normal font style */
    font-weight: 400; /* Font weight */
    line-height: 1.5; /* Line height */
    text-align: left; /* Text alignment */
    text-decoration: none; /* No text decoration */
    text-shadow: none; /* No text shadow */
    text-transform: none; /* No text transformation */
    letter-spacing: normal; /* Normal letter spacing */
    word-break: normal; /* Normal word breaking */
    word-spacing: normal; /* Normal word spacing */
    white-space: normal; /* Normal white space handling */
    line-break: auto; /* Automatic line breaking */
    font-size: .875rem; /* Font size */
    word-wrap: break-word; /* Break words if necessary */
    background-color: #fff; /* Background color */
    background-clip: padding-box; /* Clip background to padding box */
    border: 1px solid rgba(0, 0, 0, 0.2); /* Border styling */
    border-radius: .3rem; /* Rounded corners */
}

/* Popover arrow */
.popover .popover-arrow {
    position: absolute; /* Positioned absolutely */
    display: block; /* Display as block */
    width: 1rem; /* Width of the arrow */
    height: .5rem; /* Height of the arrow */
}

/* Popover Arrow Styles */
.popover .popover-arrow::before,
.popover .popover-arrow::after {
    position: absolute; /* Positioned absolutely */
    display: block; /* Display as block element */
    content: ""; /* Empty content for pseudo-elements */
    border-color: transparent; /* Transparent border color */
    border-style: solid; /* Solid border style */
}

/* Popover Arrow Placement - Top */
.bs-popover-top > .popover-arrow,
.bs-popover-auto[data-popper-placement^="top"] > .popover-arrow {
    bottom: calc(-.5rem - 1px); /* Position arrow below the popover */
}

.bs-popover-top > .popover-arrow::before,
.bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before {
    bottom: 0; /* Position top arrow */
    border-width: .5rem .5rem 0; /* Arrow border widths */
    border-top-color: rgba(0, 0, 0, 0.25); /* Color for the arrow's base */
}

.bs-popover-top > .popover-arrow::after,
.bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after {
    bottom: 1px; /* Position the white part of the arrow */
    border-width: .5rem .5rem 0; /* Arrow border widths */
    border-top-color: #fff; /* White color for the top of the arrow */
}

/* Popover Arrow Placement - End */
.bs-popover-end > .popover-arrow,
.bs-popover-auto[data-popper-placement^="right"] > .popover-arrow {
    left: calc(-.5rem - 1px); /* Position arrow to the left of the popover */
    width: .5rem; /* Width of the arrow */
    height: 1rem; /* Height of the arrow */
}

.bs-popover-end > .popover-arrow::before,
.bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before {
    left: 0; /* Position left arrow */
    border-width: .5rem .5rem .5rem 0; /* Arrow border widths */
    border-right-color: rgba(0, 0, 0, 0.25); /* Color for the arrow's base */
}

.bs-popover-end > .popover-arrow::after,
.bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after {
    left: 1px; /* Position the white part of the arrow */
    border-width: .5rem .5rem .5rem 0; /* Arrow border widths */
    border-right-color: #fff; /* White color for the top of the arrow */
}

/* Popover Arrow Placement - Bottom */
.bs-popover-bottom > .popover-arrow,
.bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow {
    top: calc(-.5rem - 1px); /* Position arrow above the popover */
}


/* Popover Styles */

/* Popover arrow for bottom placement */
.bs-popover-bottom > .popover-arrow::before,
.bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before {
    top: 0; /* Position arrow at the top */
    border-width: 0 .5rem .5rem .5rem; /* Arrow border width */
    border-bottom-color: rgba(0, 0, 0, 0.25); /* Arrow color */
}

/* Popover arrow for bottom placement (white border) */
.bs-popover-bottom > .popover-arrow::after,
.bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after {
    top: 1px; /* Slightly lower position */
    border-width: 0 .5rem .5rem .5rem; /* Arrow border width */
    border-bottom-color: #fff; /* Arrow color */
}

/* Popover header for bottom placement */
.bs-popover-bottom .popover-header::before,
.bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before {
    position: absolute; /* Position absolutely */
    top: 0; /* Top position */
    left: 50%; /* Center horizontally */
    display: block; /* Display as block */
    width: 1rem; /* Width of the line */
    margin-left: -.5rem; /* Center the line */
    content: ""; /* Empty content for pseudo-element */
    border-bottom: 1px solid #f0f0f0; /* Bottom border styling */
}

/* Popover arrow for left placement */
.bs-popover-start > .popover-arrow,
.bs-popover-auto[data-popper-placement^="left"] > .popover-arrow {
    right: calc(-.5rem - 1px); /* Position arrow outside to the left */
    width: .5rem; /* Width of the arrow */
    height: 1rem; /* Height of the arrow */
}

/* Popover arrow for left placement (dark border) */
.bs-popover-start > .popover-arrow::before,
.bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before {
    right: 0; /* Position at the right */
    border-width: .5rem 0 .5rem .5rem; /* Arrow border width */
    border-left-color: rgba(0, 0, 0, 0.25); /* Arrow color */
}

/* Popover arrow for left placement (white border) */
.bs-popover-start > .popover-arrow::after,
.bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after {
    right: 1px; /* Slightly offset position */
    border-width: .5rem 0 .5rem .5rem; /* Arrow border width */
    border-left-color: #fff; /* Arrow color */
}

/* Popover header styles */
.popover-header {
    padding: .5rem 1rem; /* Padding for header */
    margin-bottom: 0; /* No margin at the bottom */
    font-size: 1rem; /* Font size */
    color: #091E3E; /* Text color */
    background-color: #f0f0f0; /* Background color */
    border-bottom: 1px solid #d8d8d8; /* Bottom border */
    border-top-left-radius: calc(.3rem - 1px); /* Top left rounded corners */
    border-top-right-radius: calc(.3rem - 1px); /* Top right rounded corners */
}

/* Hide empty popover header */
.popover-header:empty {
    display: none; /* Do not display if empty */
}

/* Popover body styles */
.popover-body {
    padding: 1rem 1rem; /* Padding for body */
    color: #6B6A75; /* Text color */
}

/* Carousel Styles */
.carousel {
    position: relative; /* Relative positioning */
}

/* Enable touch event handling for carousel */
.carousel.pointer-event {
    touch-action: pan-y; /* Prevent horizontal pan */
}

/* Carousel inner styles */
.carousel-inner {
    position: relative; /* Relative positioning */
    width: 100%; /* Full width */
    overflow: hidden; /* Hide overflow */
}

/* Clear floats after carousel inner */
.carousel-inner::after {
    display: block; /* Display block */
    clear: both; /* Clear both floats */
    content: ""; /* Empty content for pseudo-element */
}

/* Carousel Item Styles */
.carousel-item {
    position: relative; /* Relative positioning for stacking */
    display: none; /* Initially hidden */
    float: left; /* Float items to the left */
    width: 100%; /* Full width of the carousel */
    margin-right: -100%; /* Adjust margin for transition */
    backface-visibility: hidden; /* Hide backface for 3D effects */
    transition: transform .6s ease-in-out; /* Smooth transform transition */
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    .carousel-item {
        transition: none; /* Disable transition for reduced motion */
    }
}

/* Active and transition states */
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
    display: block; /* Show active and transitioning items */
}

/* Next and Previous Item Transitions */
.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
    transform: translateX(100%); /* Slide next item to the right */
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
    transform: translateX(-100%); /* Slide previous item to the left */
}

/* Fade Carousel Styles */
.carousel-fade .carousel-item {
    opacity: 0; /* Start hidden */
    transition-property: opacity; /* Only change opacity for fade */
    transform: none; /* No transform for fade effect */
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
    z-index: 1; /* Bring active items above others */
    opacity: 1; /* Fully visible */
}

/* Transition for fade effect */
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
    z-index: 0; /* Lower z-index to allow fading */
    opacity: 0; /* Fading out */
    transition: opacity 0s .6s; /* Delay opacity change */
}

/* Reduced motion preference for fade transitions */
@media (prefers-reduced-motion: reduce) {
    .carousel-fade .active.carousel-item-start,
    .carousel-fade .active.carousel-item-end {
        transition: none; /* Disable transition for reduced motion */
    }
}

/* Carousel Control Styles */
.carousel-control-prev,
.carousel-control-next {
    position: absolute; /* Positioned relative to carousel */
    top: 0; /* Align to the top */
    bottom: 0; /* Align to the bottom */
    z-index: 1; /* On top of items */
    display: flex; /* Flexbox for centering */
    align-items: center; /* Center items vertically */
    justify-content: center; /* Center items horizontally */
    width: 15%; /* Width of control buttons */
    padding: 0; /* No padding */
    color: #fff; /* Text color */
    text-align: center; /* Center text */
    background: none; /* No background */
    border: 0; /* No border */
    opacity: .5; /* Semi-transparent */
    transition: opacity 0.15s ease; /* Smooth opacity transition */
}

/* Reduced motion preference for control transitions */
@media (prefers-reduced-motion: reduce) {
    .carousel-control-prev,
    .carousel-control-next {
        transition: none; /* Disable transition for reduced motion */
    }
}

/* Carousel Control Styles */

/* Hover and focus states for control buttons */
.carousel-control-prev:hover,
.carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
    color: #fff; /* Text color on hover/focus */
    text-decoration: none; /* No underline */
    outline: 0; /* No outline */
    opacity: .9; /* Slightly transparent */
}

/* Positioning of previous and next controls */
.carousel-control-prev {
    left: 0; /* Position on the left */
}

.carousel-control-next {
    right: 0; /* Position on the right */
}

/* Control icon styles */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    display: inline-block; /* Inline block display */
    width: 2rem; /* Width of icons */
    height: 2rem; /* Height of icons */
    background-repeat: no-repeat; /* No repeat for background image */
    background-position: 50%; /* Center background image */
    background-size: 100% 100%; /* Full size for background image */
}

/* Previous control icon with SVG */
.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}

/* Next control icon with SVG */
.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* Carousel Indicators Styles */
.carousel-indicators {
    position: absolute; /* Position indicators absolutely */
    right: 0; /* Align to the right */
    bottom: 0; /* Align to the bottom */
    left: 0; /* Align to the left */
    z-index: 2; /* Stack above other elements */
    display: flex; /* Flex display */
    justify-content: center; /* Center indicators */
    padding: 0; /* No padding */
    margin-right: 15%; /* Right margin */
    margin-bottom: 1rem; /* Bottom margin */
    margin-left: 15%; /* Left margin */
    list-style: none; /* No list style */
}

/* Individual indicator styles */
.carousel-indicators [data-bs-target] {
    box-sizing: content-box; /* Include padding in width/height */
    flex: 0 1 auto; /* Flexible sizing */
    width: 30px; /* Width of indicators */
    height: 3px; /* Height of indicators */
    padding: 0; /* No padding */
    margin-right: 3px; /* Right margin */
    margin-left: 3px; /* Left margin */
    text-indent: -999px; /* Hide text */
    cursor: pointer; /* Pointer cursor on hover */
    background-color: #fff; /* Background color */
    background-clip: padding-box; /* Background clip */
    border: 0; /* No border */
    border-top: 10px solid transparent; /* Top border for spacing */
    border-bottom: 10px solid transparent; /* Bottom border for spacing */
    opacity: .5; /* Initial opacity */
    transition: opacity 0.6s ease; /* Transition effect for opacity */
}

/* Disable transition for reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
    .carousel-indicators [data-bs-target] {
        transition: none; /* No transition */
    }
}

/* Active indicator styles */
.carousel-indicators .active {
    opacity: 1; /* Fully visible */
}

/* Carousel Caption Styles */
.carousel-caption {
    position: absolute; /* Position absolutely */
    right: 15%; /* Right offset */
    bottom: 1.25rem; /* Bottom offset */
    left: 15%; /* Left offset */
    padding-top: 1.25rem; /* Top padding */
    padding-bottom: 1.25rem; /* Bottom padding */
    color: #fff; /* Text color */
    text-align: center; /* Center text alignment */
}


/* Carousel Dark Theme Styles */
.carousel-dark .carousel-control-prev-icon,
.carousel-dark .carousel-control-next-icon {
    filter: invert(1) grayscale(100); /* Inverts color for dark theme */
}

.carousel-dark .carousel-indicators [data-bs-target] {
    background-color: #000; /* Black background for indicators */
}

.carousel-dark .carousel-caption {
    color: #000; /* Black text for captions */
}

/* Spinner Animation Keyframes */
@keyframes spinner-border {
    to {
        transform: rotate(360deg); /* Rotation animation */
    }
}

/* Spinner Border Styles */
.spinner-border {
    display: inline-block; /* Inline display for spinners */
    width: 2rem; /* Width of the spinner */
    height: 2rem; /* Height of the spinner */
    vertical-align: -0.125em; /* Vertical alignment */
    border: 0.25em solid currentColor; /* Border color matches current text color */
    border-right-color: transparent; /* Transparent right border for spinner effect */
    border-radius: 50%; /* Circular spinner */
    animation: .75s linear infinite spinner-border; /* Continuous rotation animation */
}

/* Small Spinner Border Styles */
.spinner-border-sm {
    width: 1rem; /* Smaller width for small spinner */
    height: 1rem; /* Smaller height for small spinner */
    border-width: .2em; /* Thinner border for small spinner */
}

/* Spinner Grow Animation Keyframes */
@keyframes spinner-grow {
    0% {
        transform: scale(0); /* Initial scale */
    }
    50% {
        opacity: 1; /* Full opacity at halfway */
        transform: none; /* Reset transformation */
    }
}

/* Spinner Grow Styles */
.spinner-grow {
    display: inline-block; /* Inline display for grow spinner */
    width: 2rem; /* Width of the grow spinner */
    height: 2rem; /* Height of the grow spinner */
    vertical-align: -0.125em; /* Vertical alignment */
    background-color: currentColor; /* Background color matches current text color */
    border-radius: 50%; /* Circular grow spinner */
    opacity: 0; /* Initial opacity */
    animation: .75s linear infinite spinner-grow; /* Continuous grow animation */
}

/* Small Spinner Grow Styles */
.spinner-grow-sm {
    width: 1rem; /* Smaller width for small grow spinner */
    height: 1rem; /* Smaller height for small grow spinner */
}

/* Reduced Motion Preference */
@media (prefers-reduced-motion: reduce) {
    .spinner-border,
    .spinner-grow {
        animation-duration: 1.5s; /* Longer duration for users who prefer reduced motion */
    }
}

/* Offcanvas Styles */
.offcanvas {
    position: fixed; /* Fixed positioning for offcanvas */
    bottom: 0; /* Align to the bottom */
    z-index: 1050; /* Higher stacking context */
    display: flex; /* Flexbox layout for offcanvas */
    flex-direction: column; /* Vertical stacking of elements */
    max-width: 100%; /* Full width */
    visibility: hidden; /* Hidden by default */
    background-color: #fff; /* White background */
    background-clip: padding-box; /* Background clip */
    outline: 0; /* No outline */
    transition: transform .3s ease-in-out; /* Smooth transform transition */
}

/* Reduced Motion Preference for Offcanvas */
@media (prefers-reduced-motion: reduce) {
    .offcanvas {
        transition: none; /* Disable transition for reduced motion */
    }
}

/* Offcanvas Component Styles */

/* Header styles for offcanvas */
.offcanvas-header {
    display: flex; /* Flexbox for header layout */
    align-items: center; /* Center items vertically */
    justify-content: space-between; /* Space between header items */
    padding: 1rem; /* Padding inside the header */
}

/* Close button styles in offcanvas header */
.offcanvas-header .btn-close {
    padding: .5rem; /* Padding around the close button */
    margin: -0.5rem -0.5rem -0.5rem auto; /* Negative margins for positioning */
}

/* Title styles in offcanvas */
.offcanvas-title {
    margin-bottom: 0; /* No bottom margin */
    line-height: 1.5; /* Line height for title */
}

/* Body styles for offcanvas */
.offcanvas-body {
    flex-grow: 1; /* Allow body to grow and fill space */
    padding: 1rem; /* Padding inside the body */
    overflow-y: auto; /* Scroll vertically if content overflows */
}

/* Offcanvas positioning and width styles */

/* Offcanvas from the start (left) */
.offcanvas-start {
    top: 0; /* Align to the top */
    left: 0; /* Align to the left */
    width: 400px; /* Fixed width */
    border-right: 1px solid rgba(0, 0, 0, 0.2); /* Right border */
    transform: translateX(-100%); /* Start hidden off-screen */
}

/* Offcanvas from the end (right) */
.offcanvas-end {
    top: 0; /* Align to the top */
    right: 0; /* Align to the right */
    width: 400px; /* Fixed width */
    border-left: 1px solid rgba(0, 0, 0, 0.2); /* Left border */
    transform: translateX(100%); /* Start hidden off-screen */
}

/* Offcanvas from the top */
.offcanvas-top {
    top: 0; /* Align to the top */
    right: 0; /* Align to the right */
    left: 0; /* Align to the left */
    height: 30vh; /* Height set to 30% of viewport height */
    max-height: 100%; /* Maximum height */
    border-bottom: 1px solid rgba(0, 0, 0, 0.2); /* Bottom border */
    transform: translateY(-100%); /* Start hidden off-screen */
}

/* Offcanvas from the bottom */
.offcanvas-bottom {
    right: 0; /* Align to the right */
    left: 0; /* Align to the left */
    height: 30vh; /* Height set to 30% of viewport height */
    max-height: 100%; /* Maximum height */
    border-top: 1px solid rgba(0, 0, 0, 0.2); /* Top border */
    transform: translateY(100%); /* Start hidden off-screen */
}

/* Show state for offcanvas */
.offcanvas.show {
    transform: none; /* Reset transform to show offcanvas */
}

/* Utility class to clear floats */
.clearfix::after {
    display: block; /* Block display */
    clear: both; /* Clear both sides */
    content: ""; /* Empty content */
}

/* Link Color Styles */

/* Primary link color and hover/focus effects */
.link-primary {
    color: #06A3DA; /* Primary color */
}
.link-primary:hover,
.link-primary:focus {
    color: #38b5e1; /* Hover/Focus color */
}

/* Secondary link color and hover/focus effects */
.link-secondary {
    color: #34AD54; /* Secondary color */
}
.link-secondary:hover,
.link-secondary:focus {
    color: #5dbd76; /* Hover/Focus color */
}

/* Success link color and hover/focus effects */
.link-success {
    color: #198754; /* Success color */
}
.link-success:hover,
.link-success:focus {
    color: #146c43; /* Hover/Focus color */
}

/* Info link color and hover/focus effects */
.link-info {
    color: #0dcaf0; /* Info color */
}
.link-info:hover,
.link-info:focus {
    color: #3dd5f3; /* Hover/Focus color */
}

/* Warning link color and hover/focus effects */
.link-warning {
    color: #ffc107; /* Warning color */
}
.link-warning:hover,
.link-warning:focus {
    color: #ffcd39; /* Hover/Focus color */
}

/* Danger link color and hover/focus effects */
.link-danger {
    color: #dc3545; /* Danger color */
}
.link-danger:hover,
.link-danger:focus {
    color: #b02a37; /* Hover/Focus color */
}

/* Light link color and hover/focus effects */
.link-light {
    color: #EEF9FF; /* Light color */
}
.link-light:hover,
.link-light:focus {
    color: #f1faff; /* Hover/Focus color */
}

/* Dark link color and hover/focus effects */
.link-dark {
    color: #091E3E; /* Dark color */
}
.link-dark:hover,
.link-dark:focus {
    color: #071832; /* Hover/Focus color */
}

/* Aspect Ratio Utilities */

/* Base style for ratio utility */
.ratio {
    position: relative; /* Relative positioning */
    width: 100%; /* Full width */
}

/* Aspect ratio placeholder */
.ratio::before {
    display: block; /* Block display */
    padding-top: var(--bs-aspect-ratio); /* Aspect ratio based padding */
    content: ""; /* Empty content */
}

/* Full size for child elements */
.ratio > * {
    position: absolute; /* Absolute positioning */
    top: 0; /* Align to top */
    left: 0; /* Align to left */
    width: 100%; /* Full width */
    height: 100%; /* Full height */
}

/* Aspect ratio classes */
.ratio-1x1 {
    --bs-aspect-ratio: 100%; /* 1:1 aspect ratio */
}
.ratio-4x3 {
    --bs-aspect-ratio: calc(3 / 4 * 100%); /* 4:3 aspect ratio */
}
.ratio-16x9 {
    --bs-aspect-ratio: calc(9 / 16 * 100%); /* 16:9 aspect ratio */
}
.ratio-21x9 {
    --bs-aspect-ratio: calc(9 / 21 * 100%); /* 21:9 aspect ratio */
}

/* Fixed Positioning Styles */

/* Fixed position styles for top and bottom */
.fixed-top {
    position: fixed; /* Fixed positioning */
    top: 0; /* Align to the top */
    right: 0; /* Align to the right */
    left: 0; /* Align to the left */
    z-index: 1030; /* Stacking order */
}

.fixed-bottom {
    position: fixed; /* Fixed positioning */
    right: 0; /* Align to the right */
    bottom: 0; /* Align to the bottom */
    left: 0; /* Align to the left */
    z-index: 1030; /* Stacking order */
}

/* Sticky Positioning Styles */
.sticky-top {
    position: sticky; /* Sticky positioning */
    top: 0; /* Align to the top */
    z-index: 1020; /* Stacking order */
}

/* Responsive Sticky Positioning for small screens */
@media (min-width: 576px) {
    .sticky-sm-top {
        position: sticky; /* Sticky positioning for small screens */
        top: 0; /* Align to the top */
        z-index: 1020; /* Stacking order */
    }
}

/* Sticky Positioning for Various Screen Sizes */
@media (min-width: 768px) {
    .sticky-md-top {
        position: sticky; /* Makes element sticky */
        top: 0; /* Sticks to the top of its container */
        z-index: 1020; /* Ensures it is on top of other content */
    }
}

@media (min-width: 992px) {
    .sticky-lg-top {
        position: sticky; /* Makes element sticky */
        top: 0; /* Sticks to the top of its container */
        z-index: 1020; /* Ensures it is on top of other content */
    }
}

@media (min-width: 1200px) {
    .sticky-xl-top {
        position: sticky; /* Makes element sticky */
        top: 0; /* Sticks to the top of its container */
        z-index: 1020; /* Ensures it is on top of other content */
    }
}

@media (min-width: 1400px) {
    .sticky-xxl-top {
        position: sticky; /* Makes element sticky */
        top: 0; /* Sticks to the top of its container */
        z-index: 1020; /* Ensures it is on top of other content */
    }
}

/* Visually Hidden Elements */
.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
    position: absolute !important; /* Absolutely positions element */
    width: 1px !important; /* Sets width to 1px */
    height: 1px !important; /* Sets height to 1px */
    padding: 0 !important; /* Removes padding */
    margin: -1px !important; /* Removes margin */
    overflow: hidden !important; /* Hides overflow */
    clip: rect(0, 0, 0, 0) !important; /* Clips the element */
    white-space: nowrap !important; /* Prevents wrapping */
    border: 0 !important; /* Removes border */
}

/* Stretched Link */
.stretched-link::after {
    position: absolute; /* Positions the pseudo-element absolutely */
    top: 0; /* Aligns to top */
    right: 0; /* Aligns to right */
    bottom: 0; /* Aligns to bottom */
    left: 0; /* Aligns to left */
    z-index: 1; /* Places it above other content */
    content: ""; /* No content */
}

/* Text Truncation */
.text-truncate {
    overflow: hidden; /* Hides overflow */
    text-overflow: ellipsis; /* Adds ellipsis for overflow text */
    white-space: nowrap; /* Prevents wrapping */
}

/* Vertical Alignment Utilities */
.align-baseline {
    vertical-align: baseline !important; /* Aligns to baseline */
}

.align-top {
    vertical-align: top !important; /* Aligns to top */
}

.align-middle {
    vertical-align: middle !important; /* Aligns to middle */
}

.align-bottom {
    vertical-align: bottom !important; /* Aligns to bottom */
}

.align-text-bottom {
    vertical-align: text-bottom !important; /* Aligns text to bottom */
}

.align-text-top {
    vertical-align: text-top !important; /* Aligns text to top */
}

/* Float Utilities */
.float-start {
    float: left !important; /* Floats element to the left */
}

.float-end {
    float: right !important; /* Floats element to the right */
}

.float-none {
    float: none !important; /* Removes float */
}

/* Overflow Utilities */
.overflow-auto {
    overflow: auto !important; /* Enables scrolling if needed */
}

.overflow-hidden {
    overflow: hidden !important; /* Hides overflow */
}

.overflow-visible {
    overflow: visible !important; /* Makes overflow visible */
}

.overflow-scroll {
    overflow: scroll !important; /* Adds scrollbars */
}

/* Display Utilities */
.d-inline {
    display: inline !important; /* Displays inline */
}

.d-inline-block {
    display: inline-block !important; /* Displays inline-block */
}

.d-block {
    display: block !important; /* Displays block */
}

.d-grid {
    display: grid !important; /* Displays grid */
}

.d-table {
    display: table !important; /* Displays as a table */
}

.d-table-row {
    display: table-row !important; /* Displays as a table row */
}

.d-table-cell {
    display: table-cell !important; /* Displays as a table cell */
}

.d-flex {
    display: flex !important; /* Displays as a flex container */
}

.d-inline-flex {
    display: inline-flex !important; /* Displays inline-flex */
}

/* Utility Classes */

/* Display Utility Classes */
.d-none {
    display: none !important; /* Hides the element */
}

/* Shadow Utility Classes */
.shadow {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; /* Regular shadow */
}
.shadow-sm {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; /* Small shadow */
}
.shadow-lg {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; /* Large shadow */
}
.shadow-none {
    box-shadow: none !important; /* No shadow */
}

/* Positioning Utility Classes */
.position-static {
    position: static !important; /* Static positioning */
}
.position-relative {
    position: relative !important; /* Relative positioning */
}
.position-absolute {
    position: absolute !important; /* Absolute positioning */
}
.position-fixed {
    position: fixed !important; /* Fixed positioning */
}
.position-sticky {
    position: sticky !important; /* Sticky positioning */
}

/* Positioning Helpers */
.top-0 {
    top: 0 !important; /* Aligns to the top */
}
.top-50 {
    top: 50% !important; /* Centered vertically */
}
.top-100 {
    top: 100% !important; /* Aligns to the bottom */
}
.bottom-0 {
    bottom: 0 !important; /* Aligns to the bottom */
}
.bottom-50 {
    bottom: 50% !important; /* Centered vertically */
}
.bottom-100 {
    bottom: 100% !important; /* Aligns to the bottom */
}
.start-0 {
    left: 0 !important; /* Aligns to the left */
}
.start-50 {
    left: 50% !important; /* Centered horizontally */
}
.start-100 {
    left: 100% !important; /* Aligns to the right */
}
.end-0 {
    right: 0 !important; /* Aligns to the right */
}
.end-50 {
    right: 50% !important; /* Centered horizontally */
}
.end-100 {
    right: 100% !important; /* Aligns to the right */
}

/* Translation Utility Classes */
.translate-middle {
    transform: translate(-50%, -50%) !important; /* Centering both horizontally and vertically */
}
.translate-middle-x {
    transform: translateX(-50%) !important; /* Centering horizontally */
}
.translate-middle-y {
    transform: translateY(-50%) !important; /* Centering vertically */
}

/* Border Utility Classes */
.border {
    border: 1px solid #dee2e6 !important; /* Default border */
}
.border-0 {
    border: 0 !important; /* No border */
}
.border-top {
    border-top: 1px solid #dee2e6 !important; /* Top border */
}
.border-top-0 {
    border-top: 0 !important; /* No top border */
}
.border-end {
    border-right: 1px solid #dee2e6 !important; /* Right border */
}
.border-end-0 {
    border-right: 0 !important; /* No right border */
}
.border-bottom {
    border-bottom: 1px solid #dee2e6 !important; /* Bottom border */
}
.border-bottom-0 {
    border-bottom: 0 !important; /* No bottom border */
}
.border-start {
    border-left: 1px solid #dee2e6 !important; /* Left border */
}
.border-start-0 {
    border-left: 0 !important; /* No left border */
}

/* Primary and Secondary Border Colors */
.border-primary {
    border-color: #06A3DA !important; /* Primary border color */
}
.border-secondary {
    border-color: #34AD54 !important; /* Secondary border color */
}

/* Border Utility Classes */
.border-success {
    border-color: #198754 !important; /* Green border for success */
}

.border-info {
    border-color: #0dcaf0 !important; /* Cyan border for info */
}

.border-warning {
    border-color: #ffc107 !important; /* Yellow border for warning */
}

.border-danger {
    border-color: #dc3545 !important; /* Red border for danger */
}

.border-light {
    border-color: #EEF9FF !important; /* Light border */
}

.border-dark {
    border-color: #091E3E !important; /* Dark border */
}

.border-white {
    border-color: #fff !important; /* White border */
}

/* Border Width Utility Classes */
.border-1 {
    border-width: 1px !important; /* 1px border width */
}

.border-2 {
    border-width: 2px !important; /* 2px border width */
}

.border-3 {
    border-width: 3px !important; /* 3px border width */
}

.border-4 {
    border-width: 4px !important; /* 4px border width */
}

.border-5 {
    border-width: 5px !important; /* 5px border width */
}

/* Width Utility Classes */
.w-25 {
    width: 25% !important; /* Width of 25% */
}

.w-50 {
    width: 50% !important; /* Width of 50% */
}

.w-75 {
    width: 75% !important; /* Width of 75% */
}

.w-100 {
    width: 100% !important; /* Width of 100% */
}

.w-auto {
    width: auto !important; /* Automatic width */
}

.mw-100 {
    max-width: 100% !important; /* Maximum width of 100% */
}

.vw-100 {
    width: 100vw !important; /* Full viewport width */
}

.min-vw-100 {
    min-width: 100vw !important; /* Minimum width of 100vw */
}

/* Height Utility Classes */
.h-25 {
    height: 25% !important; /* Height of 25% */
}

.h-50 {
    height: 50% !important; /* Height of 50% */
}

.h-75 {
    height: 75% !important; /* Height of 75% */
}

.h-100 {
    height: 100% !important; /* Height of 100% */
}

.h-auto {
    height: auto !important; /* Automatic height */
}

.mh-100 {
    max-height: 100% !important; /* Maximum height of 100% */
}

.vh-100 {
    height: 100vh !important; /* Full viewport height */
}

.min-vh-100 {
    min-height: 100vh !important; /* Minimum height of 100vh */
}

/* Flexbox Utility Classes */
.flex-fill {
    flex: 1 1 auto !important; /* Allows the element to grow and shrink */
}

.flex-row {
    flex-direction: row !important; /* Aligns items in a row */
}

.flex-column {
    flex-direction: column !important; /* Aligns items in a column */
}

.flex-row-reverse {
    flex-direction: row-reverse !important; /* Aligns items in a row in reverse order */
}

/* Flexbox Utility Classes */

/* Flex Direction */
.flex-column-reverse {
    flex-direction: column-reverse !important; /* Reverses the column direction */
}

/* Flex Grow */
.flex-grow-0 {
    flex-grow: 0 !important; /* Prevents the item from growing */
}
.flex-grow-1 {
    flex-grow: 1 !important; /* Allows the item to grow */
}

/* Flex Shrink */
.flex-shrink-0 {
    flex-shrink: 0 !important; /* Prevents the item from shrinking */
}
.flex-shrink-1 {
    flex-shrink: 1 !important; /* Allows the item to shrink */
}

/* Flex Wrap */
.flex-wrap {
    flex-wrap: wrap !important; /* Allows items to wrap onto multiple lines */
}
.flex-nowrap {
    flex-wrap: nowrap !important; /* Prevents items from wrapping */
}
.flex-wrap-reverse {
    flex-wrap: wrap-reverse !important; /* Wraps items in reverse order */
}

/* Gap Utility Classes */
.gap-0 {
    gap: 0 !important; /* No gap between items */
}
.gap-1 {
    gap: .25rem !important; /* Small gap */
}
.gap-2 {
    gap: .5rem !important; /* Medium gap */
}
.gap-3 {
    gap: 1rem !important; /* Large gap */
}
.gap-4 {
    gap: 1.5rem !important; /* Extra large gap */
}
.gap-5 {
    gap: 3rem !important; /* Very large gap */
}

/* Justify Content */
.justify-content-start {
    justify-content: flex-start !important; /* Aligns items to the start */
}
.justify-content-end {
    justify-content: flex-end !important; /* Aligns items to the end */
}
.justify-content-center {
    justify-content: center !important; /* Centers items */
}
.justify-content-between {
    justify-content: space-between !important; /* Distributes items evenly */
}
.justify-content-around {
    justify-content: space-around !important; /* Distributes items with space around */
}
.justify-content-evenly {
    justify-content: space-evenly !important; /* Distributes items with equal space around */
}

/* Align Items */
.align-items-start {
    align-items: flex-start !important; /* Aligns items to the start vertically */
}
.align-items-end {
    align-items: flex-end !important; /* Aligns items to the end vertically */
}
.align-items-center {
    align-items: center !important; /* Centers items vertically */
}
.align-items-baseline {
    align-items: baseline !important; /* Aligns items along their baseline */
}
.align-items-stretch {
    align-items: stretch !important; /* Stretches items to fill the container */
}

/* Align Content */
.align-content-start {
    align-content: flex-start !important; /* Aligns content to the start vertically */
}
.align-content-end {
    align-content: flex-end !important; /* Aligns content to the end vertically */
}
.align-content-center {
    align-content: center !important; /* Centers content vertically */
}
.align-content-between {
    align-content: space-between !important; /* Distributes content evenly */
}
.align-content-around {
    align-content: space-around !important; /* Distributes content with space around */
}

/* Flexbox Alignment Utility Classes */
.align-content-stretch {
    align-content: stretch !important; /* Stretch the content to fill the container */
}

.align-self-auto {
    align-self: auto !important; /* Default alignment for self */
}

.align-self-start {
    align-self: flex-start !important; /* Align self to the start of the flex container */
}

.align-self-end {
    align-self: flex-end !important; /* Align self to the end of the flex container */
}

.align-self-center {
    align-self: center !important; /* Center self in the flex container */
}

.align-self-baseline {
    align-self: baseline !important; /* Align self to the baseline of the container */
}

.align-self-stretch {
    align-self: stretch !important; /* Stretch self to fill the container */
}

/* Flexbox Order Utility Classes */
.order-first {
    order: -1 !important; /* Order item as the first */
}

.order-0 {
    order: 0 !important; /* Order item at position 0 */
}

.order-1 {
    order: 1 !important; /* Order item at position 1 */
}

.order-2 {
    order: 2 !important; /* Order item at position 2 */
}

.order-3 {
    order: 3 !important; /* Order item at position 3 */
}

.order-4 {
    order: 4 !important; /* Order item at position 4 */
}

.order-5 {
    order: 5 !important; /* Order item at position 5 */
}

.order-last {
    order: 6 !important; /* Order item as the last */
}

/* Margin Utility Classes */
.m-0 {
    margin: 0 !important; /* No margin */
}

.m-1 {
    margin: .25rem !important; /* Margin of 0.25rem */
}

.m-2 {
    margin: .5rem !important; /* Margin of 0.5rem */
}

.m-3 {
    margin: 1rem !important; /* Margin of 1rem */
}

.m-4 {
    margin: 1.5rem !important; /* Margin of 1.5rem */
}

.m-5 {
    margin: 3rem !important; /* Margin of 3rem */
}

.m-auto {
    margin: auto !important; /* Automatic margin */
}

/* Margin-X Utility Classes */
.mx-0 {
    margin-right: 0 !important; /* No right margin */
    margin-left: 0 !important; /* No left margin */
}

.mx-1 {
    margin-right: .25rem !important; /* Right margin of 0.25rem */
    margin-left: .25rem !important; /* Left margin of 0.25rem */
}

.mx-2 {
    margin-right: .5rem !important; /* Right margin of 0.5rem */
    margin-left: .5rem !important; /* Left margin of 0.5rem */
}

.mx-3 {
    margin-right: 1rem !important; /* Right margin of 1rem */
    margin-left: 1rem !important; /* Left margin of 1rem */
}

.mx-4 {
    margin-right: 1.5rem !important; /* Right margin of 1.5rem */
    margin-left: 1.5rem !important; /* Left margin of 1.5rem */
}

.mx-5 {
    margin-right: 3rem !important; /* Right margin of 3rem */
    margin-left: 3rem !important; /* Left margin of 3rem */
}

.mx-auto {
    margin-right: auto !important; /* Automatic right margin */
    margin-left: auto !important; /* Automatic left margin */
}

/* Margin-Y Utility Classes */
.my-0 {
    margin-top: 0 !important; /* No top margin */
    margin-bottom: 0 !important; /* No bottom margin */
}

.my-1 {
    margin-top: .25rem !important; /* Top margin of 0.25rem */
    margin-bottom: .25rem !important; /* Bottom margin of 0.25rem */
}

.my-2 {
    margin-top: .5rem !important; /* Top margin of 0.5rem */
    margin-bottom: .5rem !important; /* Bottom margin of 0.5rem */
}

/* Margin Utility Classes */

/* Vertical Margins (my) */
.my-3 {
    margin-top: 1rem !important;   /* 1rem margin on top and bottom */
    margin-bottom: 1rem !important; 
}
.my-4 {
    margin-top: 1.5rem !important; /* 1.5rem margin on top and bottom */
    margin-bottom: 1.5rem !important; 
}
.my-5 {
    margin-top: 3rem !important;   /* 3rem margin on top and bottom */
    margin-bottom: 3rem !important; 
}
.my-auto {
    margin-top: auto !important;   /* Automatic vertical margins */
    margin-bottom: auto !important; 
}

/* Top Margins (mt) */
.mt-0 {
    margin-top: 0 !important;      /* No top margin */
}
.mt-1 {
    margin-top: .25rem !important; /* Small top margin */
}
.mt-2 {
    margin-top: .5rem !important;  /* Medium top margin */
}
.mt-3 {
    margin-top: 1rem !important;   /* Large top margin */
}
.mt-4 {
    margin-top: 1.5rem !important; /* Extra large top margin */
}
.mt-5 {
    margin-top: 3rem !important;   /* Very large top margin */
}
.mt-auto {
    margin-top: auto !important;   /* Automatic top margin */
}

/* Right Margins (me) */
.me-0 {
    margin-right: 0 !important;    /* No right margin */
}
.me-1 {
    margin-right: .25rem !important; /* Small right margin */
}
.me-2 {
    margin-right: .5rem !important;  /* Medium right margin */
}
.me-3 {
    margin-right: 1rem !important;   /* Large right margin */
}
.me-4 {
    margin-right: 1.5rem !important; /* Extra large right margin */
}
.me-5 {
    margin-right: 3rem !important;   /* Very large right margin */
}
.me-auto {
    margin-right: auto !important;   /* Automatic right margin */
}

/* Bottom Margins (mb) */
.mb-0 {
    margin-bottom: 0 !important;     /* No bottom margin */
}
.mb-1 {
    margin-bottom: .25rem !important; /* Small bottom margin */
}
.mb-2 {
    margin-bottom: .5rem !important;  /* Medium bottom margin */
}
.mb-3 {
    margin-bottom: 1rem !important;   /* Large bottom margin */
}
.mb-4 {
    margin-bottom: 1.5rem !important; /* Extra large bottom margin */
}
.mb-5 {
    margin-bottom: 3rem !important;   /* Very large bottom margin */
}
.mb-auto {
    margin-bottom: auto !important;   /* Automatic bottom margin */
}

/* Left Margins (ms) */
.ms-0 {
    margin-left: 0 !important;       /* No left margin */
}
.ms-1 {
    margin-left: .25rem !important;  /* Small left margin */
}
.ms-2 {
    margin-left: .5rem !important;   /* Medium left margin */
}
.ms-3 {
    margin-left: 1rem !important;    /* Large left margin */
}
.ms-4 {
    margin-left: 1.5rem !important;  /* Extra large left margin */
}
.ms-5 {
    margin-left: 3rem !important;    /* Very large left margin */
}
.ms-auto {
    margin-left: auto !important;    /* Automatic left margin */
}

/* Negative Margins (m-n) */
.m-n1 {
    margin: -.25rem !important;      /* Small negative margin */
}
.m-n2 {
    margin: -.5rem !important;       /* Medium negative margin */
}
.m-n3 {
    margin: -1rem !important;        /* Large negative margin */
}
.m-n4 {
    margin: -1.5rem !important;      /* Extra large negative margin */
}
.m-n5 {
    margin: -3rem !important;        /* Very large negative margin */
}

/* Negative Horizontal Margins (mx-n) */
.mx-n1 {
    margin-right: -.25rem !important; /* Small negative margin on the right */
    margin-left: -.25rem !important;  /* Small negative margin on the left */
}

/* Negative Margin Utility Classes (Horizontal) */
.mx-n2 {
    margin-right: -.5rem !important; /* Negative right margin of 0.5rem */
    margin-left: -.5rem !important; /* Negative left margin of 0.5rem */
}

.mx-n3 {
    margin-right: -1rem !important; /* Negative right margin of 1rem */
    margin-left: -1rem !important; /* Negative left margin of 1rem */
}

.mx-n4 {
    margin-right: -1.5rem !important; /* Negative right margin of 1.5rem */
    margin-left: -1.5rem !important; /* Negative left margin of 1.5rem */
}

.mx-n5 {
    margin-right: -3rem !important; /* Negative right margin of 3rem */
    margin-left: -3rem !important; /* Negative left margin of 3rem */
}

/* Negative Margin Utility Classes (Vertical) */
.my-n1 {
    margin-top: -.25rem !important; /* Negative top margin of 0.25rem */
    margin-bottom: -.25rem !important; /* Negative bottom margin of 0.25rem */
}

.my-n2 {
    margin-top: -.5rem !important; /* Negative top margin of 0.5rem */
    margin-bottom: -.5rem !important; /* Negative bottom margin of 0.5rem */
}

.my-n3 {
    margin-top: -1rem !important; /* Negative top margin of 1rem */
    margin-bottom: -1rem !important; /* Negative bottom margin of 1rem */
}

.my-n4 {
    margin-top: -1.5rem !important; /* Negative top margin of 1.5rem */
    margin-bottom: -1.5rem !important; /* Negative bottom margin of 1.5rem */
}

.my-n5 {
    margin-top: -3rem !important; /* Negative top margin of 3rem */
    margin-bottom: -3rem !important; /* Negative bottom margin of 3rem */
}

/* Negative Margin Utility Classes (Top) */
.mt-n1 {
    margin-top: -.25rem !important; /* Negative top margin of 0.25rem */
}

.mt-n2 {
    margin-top: -.5rem !important; /* Negative top margin of 0.5rem */
}

.mt-n3 {
    margin-top: -1rem !important; /* Negative top margin of 1rem */
}

.mt-n4 {
    margin-top: -1.5rem !important; /* Negative top margin of 1.5rem */
}

.mt-n5 {
    margin-top: -3rem !important; /* Negative top margin of 3rem */
}

/* Negative Margin Utility Classes (End) */
.me-n1 {
    margin-right: -.25rem !important; /* Negative right margin of 0.25rem */
}

.me-n2 {
    margin-right: -.5rem !important; /* Negative right margin of 0.5rem */
}

.me-n3 {
    margin-right: -1rem !important; /* Negative right margin of 1rem */
}

.me-n4 {
    margin-right: -1.5rem !important; /* Negative right margin of 1.5rem */
}

.me-n5 {
    margin-right: -3rem !important; /* Negative right margin of 3rem */
}

/* Negative Margin Utility Classes (Bottom) */
.mb-n1 {
    margin-bottom: -.25rem !important; /* Negative bottom margin of 0.25rem */
}

.mb-n2 {
    margin-bottom: -.5rem !important; /* Negative bottom margin of 0.5rem */
}

.mb-n3 {
    margin-bottom: -1rem !important; /* Negative bottom margin of 1rem */
}

.mb-n4 {
    margin-bottom: -1.5rem !important; /* Negative bottom margin of 1.5rem */
}

.mb-n5 {
    margin-bottom: -3rem !important; /* Negative bottom margin of 3rem */
}

/* Negative Margin Utility Classes (Start) */
.ms-n1 {
    margin-left: -.25rem !important; /* Negative left margin of 0.25rem */
}

.ms-n2 {
    margin-left: -.5rem !important; /* Negative left margin of 0.5rem */
}

.ms-n3 {
    margin-left: -1rem !important; /* Negative left margin of 1rem */
}

.ms-n4 {
    margin-left: -1.5rem !important; /* Negative left margin of 1.5rem */
}

.ms-n5 {
    margin-left: -3rem !important; /* Negative left margin of 3rem */
}

/* Padding Utility Classes */
.p-0 {
    padding: 0 !important; /* No padding */
}

.p-1 {
    padding: .25rem !important; /* Padding of 0.25rem */
}

/* Padding Utility Classes */

/* General Padding (p) */
.p-2 {
    padding: .5rem !important;      /* General padding of 0.5rem */
}
.p-3 {
    padding: 1rem !important;       /* General padding of 1rem */
}
.p-4 {
    padding: 1.5rem !important;     /* General padding of 1.5rem */
}
.p-5 {
    padding: 3rem !important;       /* General padding of 3rem */
}

/* Horizontal Padding (px) */
.px-0 {
    padding-right: 0 !important;    /* No horizontal padding */
    padding-left: 0 !important;     
}
.px-1 {
    padding-right: .25rem !important; /* Small horizontal padding */
    padding-left: .25rem !important;  
}
.px-2 {
    padding-right: .5rem !important;  /* Medium horizontal padding */
    padding-left: .5rem !important;   
}
.px-3 {
    padding-right: 1rem !important;   /* Large horizontal padding */
    padding-left: 1rem !important;     
}
.px-4 {
    padding-right: 1.5rem !important; /* Extra large horizontal padding */
    padding-left: 1.5rem !important;   
}
.px-5 {
    padding-right: 3rem !important;   /* Very large horizontal padding */
    padding-left: 3rem !important;     
}

/* Vertical Padding (py) */
.py-0 {
    padding-top: 0 !important;       /* No vertical padding */
    padding-bottom: 0 !important;    
}
.py-1 {
    padding-top: .25rem !important;   /* Small vertical padding */
    padding-bottom: .25rem !important; 
}
.py-2 {
    padding-top: .5rem !important;    /* Medium vertical padding */
    padding-bottom: .5rem !important;  
}
.py-3 {
    padding-top: 1rem !important;     /* Large vertical padding */
    padding-bottom: 1rem !important;   
}
.py-4 {
    padding-top: 1.5rem !important;   /* Extra large vertical padding */
    padding-bottom: 1.5rem !important; 
}
.py-5 {
    padding-top: 3rem !important;     /* Very large vertical padding */
    padding-bottom: 3rem !important;   
}

/* Top Padding (pt) */
.pt-0 {
    padding-top: 0 !important;        /* No top padding */
}
.pt-1 {
    padding-top: .25rem !important;   /* Small top padding */
}
.pt-2 {
    padding-top: .5rem !important;    /* Medium top padding */
}
.pt-3 {
    padding-top: 1rem !important;     /* Large top padding */
}
.pt-4 {
    padding-top: 1.5rem !important;   /* Extra large top padding */
}
.pt-5 {
    padding-top: 3rem !important;     /* Very large top padding */
}

/* Right Padding (pe) */
.pe-0 {
    padding-right: 0 !important;      /* No right padding */
}
.pe-1 {
    padding-right: .25rem !important; /* Small right padding */
}
.pe-2 {
    padding-right: .5rem !important;  /* Medium right padding */
}
.pe-3 {
    padding-right: 1rem !important;   /* Large right padding */
}
.pe-4 {
    padding-right: 1.5rem !important; /* Extra large right padding */
}
.pe-5 {
    padding-right: 3rem !important;   /* Very large right padding */
}

/* Padding Utility Classes (Bottom) */
.pb-0 {
    padding-bottom: 0 !important; /* No padding at the bottom */
}

.pb-1 {
    padding-bottom: .25rem !important; /* Padding bottom of 0.25rem */
}

.pb-2 {
    padding-bottom: .5rem !important; /* Padding bottom of 0.5rem */
}

.pb-3 {
    padding-bottom: 1rem !important; /* Padding bottom of 1rem */
}

.pb-4 {
    padding-bottom: 1.5rem !important; /* Padding bottom of 1.5rem */
}

.pb-5 {
    padding-bottom: 3rem !important; /* Padding bottom of 3rem */
}

/* Padding Utility Classes (Start/Left) */
.ps-0 {
    padding-left: 0 !important; /* No padding on the left */
}

.ps-1 {
    padding-left: .25rem !important; /* Padding left of 0.25rem */
}

.ps-2 {
    padding-left: .5rem !important; /* Padding left of 0.5rem */
}

.ps-3 {
    padding-left: 1rem !important; /* Padding left of 1rem */
}

.ps-4 {
    padding-left: 1.5rem !important; /* Padding left of 1.5rem */
}

.ps-5 {
    padding-left: 3rem !important; /* Padding left of 3rem */
}

/* Font Utility Classes */
.font-monospace {
    font-family: var(--bs-font-monospace) !important; /* Monospace font family */
}

.fs-1 {
    font-size: calc(1.375rem + 1.5vw) !important; /* Font size responsive */
}

.fs-2 {
    font-size: calc(1.325rem + .9vw) !important; /* Font size responsive */
}

.fs-3 {
    font-size: calc(1.3rem + .6vw) !important; /* Font size responsive */
}

.fs-4 {
    font-size: calc(1.275rem + .3vw) !important; /* Font size responsive */
}

.fs-5 {
    font-size: 1.25rem !important; /* Fixed font size */
}

.fs-6 {
    font-size: 1rem !important; /* Fixed font size */
}

/* Font Style Utility Classes */
.fst-italic {
    font-style: italic !important; /* Italic font style */
}

.fst-normal {
    font-style: normal !important; /* Normal font style */
}

/* Font Weight Utility Classes */
.fw-light {
    font-weight: 300 !important; /* Light font weight */
}

.fw-lighter {
    font-weight: lighter !important; /* Lighter font weight */
}

.fw-normal {
    font-weight: 400 !important; /* Normal font weight */
}

.fw-bold {
    font-weight: 700 !important; /* Bold font weight */
}

.fw-bolder {
    font-weight: bolder !important; /* Bolder font weight */
}

/* Line Height Utility Classes */
.lh-1 {
    line-height: 1 !important; /* Line height of 1 */
}

.lh-sm {
    line-height: 1.25 !important; /* Small line height */
}

.lh-base {
    line-height: 1.5 !important; /* Base line height */
}

.lh-lg {
    line-height: 2 !important; /* Large line height */
}

/* Text Alignment Utility Classes */
.text-start {
    text-align: left !important; /* Align text to the left */
}

.text-end {
    text-align: right !important; /* Align text to the right */
}

.text-center {
    text-align: center !important; /* Center align text */
}

/* Text Decoration Utility Classes */
.text-decoration-none {
    text-decoration: none !important; /* No text decoration */
}

.text-decoration-underline {
    text-decoration: underline !important; /* Underlined text */
}

/* Text Decoration Classes */
.text-decoration-line-through {
    text-decoration: line-through !important; /* Line-through text decoration */
}

/* Text Transformation Classes */
.text-lowercase {
    text-transform: lowercase !important;    /* Transform text to lowercase */
}
.text-uppercase {
    text-transform: uppercase !important;    /* Transform text to uppercase */
}
.text-capitalize {
    text-transform: capitalize !important;   /* Capitalize the first letter of each word */
}

/* Text Wrapping Classes */
.text-wrap {
    white-space: normal !important;          /* Normal text wrapping */
}
.text-nowrap {
    white-space: nowrap !important;          /* No text wrapping */
}
.text-break {
    word-wrap: break-word !important;        /* Break words when necessary */
    word-break: break-word !important;       /* Break words within the element */
}

/* Text Color Classes */
.text-primary {
    color: #06A3DA !important;               /* Primary text color */
}
.text-secondary {
    color: #34AD54 !important;               /* Secondary text color */
}
.text-success {
    color: #198754 !important;               /* Success text color */
}
.text-info {
    color: #0dcaf0 !important;               /* Info text color */
}
.text-warning {
    color: #ffc107 !important;               /* Warning text color */
}
.text-danger {
    color: #dc3545 !important;               /* Danger text color */
}
.text-light {
    color: #EEF9FF !important;               /* Light text color */
}
.text-dark {
    color: #091E3E !important;                /* Dark text color */
}
.text-white {
    color: #fff !important;                   /* White text color */
}
.text-body {
    color: #6B6A75 !important;                /* Body text color */
}
.text-muted {
    color: #6c757d !important;                /* Muted text color */
}
.text-black-50 {
    color: rgba(0, 0, 0, 0.5) !important;    /* Black text with 50% opacity */
}
.text-white-50 {
    color: rgba(255, 255, 255, 0.5) !important; /* White text with 50% opacity */
}
.text-reset {
    color: inherit !important;                /* Reset text color to inherit */
}

/* Background Color Classes */
.bg-primary {
    background-color: #06A3DA !important;    /* Primary background color */
}
.bg-secondary {
    background-color: #34AD54 !important;    /* Secondary background color */
}
.bg-success {
    background-color: #198754 !important;    /* Success background color */
}
.bg-info {
    background-color: #0dcaf0 !important;    /* Info background color */
}
.bg-warning {
    background-color: #ffc107 !important;    /* Warning background color */
}
.bg-danger {
    background-color: #dc3545 !important;    /* Danger background color */
}
.bg-light {
    background-color: #EEF9FF !important;    /* Light background color */
}
.bg-dark {
    background-color: #091E3E !important;     /* Dark background color */
}
.bg-body {
    background-color: #fff !important;        /* Body background color */
}
.bg-white {
    background-color: #fff !important;        /* White background color */
}
.bg-transparent {
    background-color: rgba(0, 0, 0, 0) !important; /* Transparent background */
}

/* Background Gradient Utility Class */
.bg-gradient {
    background-image: var(--bs-gradient) !important; /* Apply a gradient background */
}

/* User Select Utility Classes */
.user-select-all {
    user-select: all !important; /* Allow text selection of all content */
}

.user-select-auto {
    user-select: auto !important; /* Default selection behavior */
}

.user-select-none {
    user-select: none !important; /* Prevent text selection */
}

/* Pointer Events Utility Classes */
.pe-none {
    pointer-events: none !important; /* Disable pointer events on the element */
}

.pe-auto {
    pointer-events: auto !important; /* Enable pointer events */
}

/* Border Radius Utility Classes */
.rounded {
    border-radius: 2px !important; /* Default border radius */
}

.rounded-0 {
    border-radius: 0 !important; /* No border radius */
}

.rounded-1 {
    border-radius: .2rem !important; /* Small border radius */
}

.rounded-2 {
    border-radius: 2px !important; /* Medium border radius */
}

.rounded-3 {
    border-radius: .3rem !important; /* Slightly larger border radius */
}

.rounded-circle {
    border-radius: 50% !important; /* Full circle border radius */
}

.rounded-pill {
    border-radius: 50rem !important; /* Pill shape border radius */
}

/* Specific Border Radius Utility Classes for Each Side */
.rounded-top {
    border-top-left-radius: 2px !important; /* Top left corner */
    border-top-right-radius: 2px !important; /* Top right corner */
}

.rounded-end {
    border-top-right-radius: 2px !important; /* Top right corner */
    border-bottom-right-radius: 2px !important; /* Bottom right corner */
}

.rounded-bottom {
    border-bottom-right-radius: 2px !important; /* Bottom right corner */
    border-bottom-left-radius: 2px !important; /* Bottom left corner */
}

.rounded-start {
    border-bottom-left-radius: 2px !important; /* Bottom left corner */
    border-top-left-radius: 2px !important; /* Top left corner */
}

/* Visibility Utility Classes */
.visible {
    visibility: visible !important; /* Element is visible */
}

.invisible {
    visibility: hidden !important; /* Element is hidden */
}

/* Responsive Float and Display Utility Classes */
@media (min-width: 576px) {
    .float-sm-start {
        float: left !important; /* Float left on small screens and up */
    }

    .float-sm-end {
        float: right !important; /* Float right on small screens and up */
    }

    .float-sm-none {
        float: none !important; /* No float on small screens and up */
    }

    .d-sm-inline {
        display: inline !important; /* Display inline on small screens and up */
    }
}

/* Display Utility Classes for Small Screens */
.d-sm-inline-block {
    display: inline-block !important;          /* Inline-block display for small screens */
}
.d-sm-block {
    display: block !important;                  /* Block display for small screens */
}
.d-sm-grid {
    display: grid !important;                   /* Grid display for small screens */
}
.d-sm-table {
    display: table !important;                  /* Table display for small screens */
}
.d-sm-table-row {
    display: table-row !important;              /* Table row display for small screens */
}
.d-sm-table-cell {
    display: table-cell !important;             /* Table cell display for small screens */
}
.d-sm-flex {
    display: flex !important;                   /* Flex display for small screens */
}
.d-sm-inline-flex {
    display: inline-flex !important;            /* Inline-flex display for small screens */
}
.d-sm-none {
    display: none !important;                   /* No display for small screens */
}

/* Flexbox Utility Classes for Small Screens */
.flex-sm-fill {
    flex: 1 1 auto !important;                 /* Flex grow, shrink, and basis for small screens */
}
.flex-sm-row {
    flex-direction: row !important;             /* Row direction for flex items */
}
.flex-sm-column {
    flex-direction: column !important;          /* Column direction for flex items */
}
.flex-sm-row-reverse {
    flex-direction: row-reverse !important;     /* Row reverse direction for flex items */
}
.flex-sm-column-reverse {
    flex-direction: column-reverse !important;  /* Column reverse direction for flex items */
}
.flex-sm-grow-0 {
    flex-grow: 0 !important;                    /* No growth for flex items */
}
.flex-sm-grow-1 {
    flex-grow: 1 !important;                    /* Growth enabled for flex items */
}
.flex-sm-shrink-0 {
    flex-shrink: 0 !important;                  /* No shrinking for flex items */
}
.flex-sm-shrink-1 {
    flex-shrink: 1 !important;                  /* Shrinking enabled for flex items */
}
.flex-sm-wrap {
    flex-wrap: wrap !important;                 /* Enable wrapping for flex items */
}
.flex-sm-nowrap {
    flex-wrap: nowrap !important;               /* No wrapping for flex items */
}
.flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;         /* Reverse wrapping for flex items */
}

/* Gap Utility Classes for Small Screens */
.gap-sm-0 {
    gap: 0 !important;                          /* No gap between flex/grid items */
}
.gap-sm-1 {
    gap: .25rem !important;                     /* Gap of .25rem between items */
}
.gap-sm-2 {
    gap: .5rem !important;                      /* Gap of .5rem between items */
}
.gap-sm-3 {
    gap: 1rem !important;                       /* Gap of 1rem between items */
}
.gap-sm-4 {
    gap: 1.5rem !important;                     /* Gap of 1.5rem between items */
}
.gap-sm-5 {
    gap: 3rem !important;                       /* Gap of 3rem between items */
}

/* Justify Content Utility Classes for Small Screens */
.justify-content-sm-start {
    justify-content: flex-start !important;     /* Align flex items to the start */
}
.justify-content-sm-end {
    justify-content: flex-end !important;       /* Align flex items to the end */
}
.justify-content-sm-center {
    justify-content: center !important;         /* Center align flex items */
}
.justify-content-sm-between {
    justify-content: space-between !important;  /* Space between flex items */
}

/* Responsive Justification Classes for Flexbox */
.justify-content-sm-around {
    justify-content: space-around !important; /* Distributes items evenly with space around them */
}

.justify-content-sm-evenly {
    justify-content: space-evenly !important; /* Distributes items evenly with equal space around them */
}

/* Responsive Alignment Classes for Flexbox Items */
.align-items-sm-start {
    align-items: flex-start !important; /* Aligns items to the start of the flex container */
}

.align-items-sm-end {
    align-items: flex-end !important; /* Aligns items to the end of the flex container */
}

.align-items-sm-center {
    align-items: center !important; /* Aligns items in the center of the flex container */
}

.align-items-sm-baseline {
    align-items: baseline !important; /* Aligns items along the baseline */
}

.align-items-sm-stretch {
    align-items: stretch !important; /* Stretches items to fill the container */
}

/* Responsive Alignment Classes for Flexbox Content */
.align-content-sm-start {
    align-content: flex-start !important; /* Aligns flex lines to the start of the container */
}

.align-content-sm-end {
    align-content: flex-end !important; /* Aligns flex lines to the end of the container */
}

.align-content-sm-center {
    align-content: center !important; /* Aligns flex lines in the center of the container */
}

.align-content-sm-between {
    align-content: space-between !important; /* Distributes lines evenly with space between them */
}

.align-content-sm-around {
    align-content: space-around !important; /* Distributes lines evenly with space around them */
}

.align-content-sm-stretch {
    align-content: stretch !important; /* Stretches lines to fill the container */
}

/* Responsive Self Alignment Classes for Flexbox Items */
.align-self-sm-auto {
    align-self: auto !important; /* Default alignment of the item */
}

.align-self-sm-start {
    align-self: flex-start !important; /* Aligns the item to the start of the flex container */
}

.align-self-sm-end {
    align-self: flex-end !important; /* Aligns the item to the end of the flex container */
}

.align-self-sm-center {
    align-self: center !important; /* Aligns the item in the center of the flex container */
}

.align-self-sm-baseline {
    align-self: baseline !important; /* Aligns the item along the baseline */
}

.align-self-sm-stretch {
    align-self: stretch !important; /* Stretches the item to fill the container */
}

/* Order Utility Classes for Small Screens */
.order-sm-first {
    order: -1 !important;                       /* First item order for flex container */
}
.order-sm-0 {
    order: 0 !important;                        /* Default order for flex items */
}
.order-sm-1 {
    order: 1 !important;                        /* Order 1 for flex items */
}
.order-sm-2 {
    order: 2 !important;                        /* Order 2 for flex items */
}
.order-sm-3 {
    order: 3 !important;                        /* Order 3 for flex items */
}
.order-sm-4 {
    order: 4 !important;                        /* Order 4 for flex items */
}
.order-sm-5 {
    order: 5 !important;                        /* Order 5 for flex items */
}
.order-sm-last {
    order: 6 !important;                        /* Last item order for flex container */
}

/* Margin Utility Classes for Small Screens */
.m-sm-0 {
    margin: 0 !important;                      /* Zero margin for all sides */
}
.m-sm-1 {
    margin: .25rem !important;                 /* Margin of .25rem for all sides */
}
.m-sm-2 {
    margin: .5rem !important;                  /* Margin of .5rem for all sides */
}
.m-sm-3 {
    margin: 1rem !important;                   /* Margin of 1rem for all sides */
}
.m-sm-4 {
    margin: 1.5rem !important;                 /* Margin of 1.5rem for all sides */
}
.m-sm-5 {
    margin: 3rem !important;                   /* Margin of 3rem for all sides */
}
.m-sm-auto {
    margin: auto !important;                   /* Automatic margin for all sides */
}

/* Horizontal Margin Utility Classes for Small Screens */
.mx-sm-0 {
    margin-right: 0 !important;                /* Zero margin for the right and left sides */
    margin-left: 0 !important;
}
.mx-sm-1 {
    margin-right: .25rem !important;           /* Margin of .25rem for the right and left sides */
    margin-left: .25rem !important;
}
.mx-sm-2 {
    margin-right: .5rem !important;            /* Margin of .5rem for the right and left sides */
    margin-left: .5rem !important;
}
.mx-sm-3 {
    margin-right: 1rem !important;             /* Margin of 1rem for the right and left sides */
    margin-left: 1rem !important;
}
.mx-sm-4 {
    margin-right: 1.5rem !important;           /* Margin of 1.5rem for the right and left sides */
    margin-left: 1.5rem !important;
}
.mx-sm-5 {
    margin-right: 3rem !important;             /* Margin of 3rem for the right and left sides */
    margin-left: 3rem !important;
}
.mx-sm-auto {
    margin-right: auto !important;             /* Automatic margin for the right and left sides */
    margin-left: auto !important;
}

/* Vertical Margin Utility Classes for Small Screens */
.my-sm-0 {
    margin-top: 0 !important;                  /* Zero margin for top and bottom */
    margin-bottom: 0 !important;
}
.my-sm-1 {
    margin-top: .25rem !important;             /* Margin of .25rem for top and bottom */
    margin-bottom: .25rem !important;
}
.my-sm-2 {
    margin-top: .5rem !important;              /* Margin of .5rem for top and bottom */
    margin-bottom: .5rem !important;
}
.my-sm-3 {
    margin-top: 1rem !important;               /* Margin of 1rem for top and bottom */
    margin-bottom: 1rem !important;
}
.my-sm-4 {
    margin-top: 1.5rem !important;             /* Margin of 1.5rem for top and bottom */
    margin-bottom: 1.5rem !important;
}
.my-sm-5 {
    margin-top: 3rem !important;               /* Margin of 3rem for top and bottom */
    margin-bottom: 3rem !important;
}
.my-sm-auto {
    margin-top: auto !important;               /* Automatic margin for top and bottom */
    margin-bottom: auto !important;
}

/* Top Margin Utility Classes for Small Screens */
.mt-sm-0 {
    margin-top: 0 !important;                  /* Zero margin for the top */
}
.mt-sm-1 {
    margin-top: .25rem !important;             /* Margin of .25rem for the top */
}
.mt-sm-2 {
    margin-top: .5rem !important;              /* Margin of .5rem for the top */
}
.mt-sm-3 {
    margin-top: 1rem !important;               /* Margin of 1rem for the top */
}
.mt-sm-4 {
    margin-top: 1.5rem !important;             /* Margin of 1.5rem for the top */
}
.mt-sm-5 {
    margin-top: 3rem !important;               /* Margin of 3rem for the top */
}
.mt-sm-auto {
    margin-top: auto !important;               /* Automatic margin for the top */
}

/* Right Margin Utility Classes for Small Screens */
.me-sm-0 {
    margin-right: 0 !important;                /* Zero margin for the right */
}
.me-sm-1 {
    margin-right: .25rem !important;           /* Margin of .25rem for the right */
}
.me-sm-2 {
    margin-right: .5rem !important;            /* Margin of .5rem for the right */
}
.me-sm-3 {
    margin-right: 1rem !important;             /* Margin of 1rem for the right */
}

/* Responsive Margin Utilities for Small Screens */
.me-sm-4 {
    margin-right: 1.5rem !important; /* Sets right margin to 1.5rem */
}

.me-sm-5 {
    margin-right: 3rem !important; /* Sets right margin to 3rem */
}

.me-sm-auto {
    margin-right: auto !important; /* Automatically adjusts right margin */
}

.mb-sm-0 {
    margin-bottom: 0 !important; /* Sets bottom margin to 0 */
}

.mb-sm-1 {
    margin-bottom: .25rem !important; /* Sets bottom margin to .25rem */
}

.mb-sm-2 {
    margin-bottom: .5rem !important; /* Sets bottom margin to .5rem */
}

.mb-sm-3 {
    margin-bottom: 1rem !important; /* Sets bottom margin to 1rem */
}

.mb-sm-4 {
    margin-bottom: 1.5rem !important; /* Sets bottom margin to 1.5rem */
}

.mb-sm-5 {
    margin-bottom: 3rem !important; /* Sets bottom margin to 3rem */
}

.mb-sm-auto {
    margin-bottom: auto !important; /* Automatically adjusts bottom margin */
}

.ms-sm-0 {
    margin-left: 0 !important; /* Sets left margin to 0 */
}

.ms-sm-1 {
    margin-left: .25rem !important; /* Sets left margin to .25rem */
}

.ms-sm-2 {
    margin-left: .5rem !important; /* Sets left margin to .5rem */
}

.ms-sm-3 {
    margin-left: 1rem !important; /* Sets left margin to 1rem */
}

.ms-sm-4 {
    margin-left: 1.5rem !important; /* Sets left margin to 1.5rem */
}

.ms-sm-5 {
    margin-left: 3rem !important; /* Sets left margin to 3rem */
}

.ms-sm-auto {
    margin-left: auto !important; /* Automatically adjusts left margin */
}

/* Negative Margin Utilities for Small Screens */
.m-sm-n1 {
    margin: -.25rem !important; /* Sets all margins to -0.25rem */
}

.m-sm-n2 {
    margin: -.5rem !important; /* Sets all margins to -0.5rem */
}

.m-sm-n3 {
    margin: -1rem !important; /* Sets all margins to -1rem */
}

.m-sm-n4 {
    margin: -1.5rem !important; /* Sets all margins to -1.5rem */
}

.m-sm-n5 {
    margin: -3rem !important; /* Sets all margins to -3rem */
}

/* Negative Margin X Utilities for Small Screens */
.mx-sm-n1 {
    margin-right: -.25rem !important; /* Sets right margin to -0.25rem and left margin to -0.25rem */
    margin-left: -.25rem !important;
}

.mx-sm-n2 {
    margin-right: -.5rem !important; /* Sets right margin to -0.5rem and left margin to -0.5rem */
    margin-left: -.5rem !important;
}

.mx-sm-n3 {
    margin-right: -1rem !important; /* Sets right margin to -1rem and left margin to -1rem */
    margin-left: -1rem !important;
}

.mx-sm-n4 {
    margin-right: -1.5rem !important; /* Sets right margin to -1.5rem and left margin to -1.5rem */
    margin-left: -1.5rem !important;
}

.mx-sm-n5 {
    margin-right: -3rem !important; /* Sets right margin to -3rem and left margin to -3rem */
    margin-left: -3rem !important;
}

/* Negative Margin Y Utilities for Small Screens */
.my-sm-n1 {
    margin-top: -.25rem !important; /* Sets top margin to -0.25rem and bottom margin to -0.25rem */
    margin-bottom: -.25rem !important;
}

.my-sm-n2 {
    margin-top: -.5rem !important; /* Sets top margin to -0.5rem and bottom margin to -0.5rem */
    margin-bottom: -.5rem !important;
}

.my-sm-n3 {
    margin-top: -1rem !important; /* Sets top margin to -1rem and bottom margin to -1rem */
    margin-bottom: -1rem !important;
}

.my-sm-n4 {
    margin-top: -1.5rem !important; /* Sets top margin to -1.5rem and bottom margin to -1.5rem */
    margin-bottom: -1.5rem !important;
}

.my-sm-n5 {
    margin-top: -3rem !important; /* Sets top margin to -3rem and bottom margin to -3rem */
    margin-bottom: -3rem !important;
}

/* Negative Margin Top Utilities for Small Screens */
.mt-sm-n1 {
    margin-top: -.25rem !important; /* Sets top margin to -0.25rem */
}

.mt-sm-n2 {
    margin-top: -.5rem !important; /* Sets top margin to -0.5rem */
}

.mt-sm-n3 {
    margin-top: -1rem !important; /* Sets top margin to -1rem */
}

.mt-sm-n4 {
    margin-top: -1.5rem !important; /* Sets top margin to -1.5rem */
}


/* Negative Top Margin Utility Classes for Small Screens */
.mt-sm-n5 {
    margin-top: -3rem !important;              /* Negative margin of 3rem for the top */
}

/* Negative Right Margin Utility Classes for Small Screens */
.me-sm-n1 {
    margin-right: -.25rem !important;          /* Negative margin of .25rem for the right */
}
.me-sm-n2 {
    margin-right: -.5rem !important;           /* Negative margin of .5rem for the right */
}
.me-sm-n3 {
    margin-right: -1rem !important;            /* Negative margin of 1rem for the right */
}
.me-sm-n4 {
    margin-right: -1.5rem !important;          /* Negative margin of 1.5rem for the right */
}
.me-sm-n5 {
    margin-right: -3rem !important;            /* Negative margin of 3rem for the right */
}

/* Negative Bottom Margin Utility Classes for Small Screens */
.mb-sm-n1 {
    margin-bottom: -.25rem !important;         /* Negative margin of .25rem for the bottom */
}
.mb-sm-n2 {
    margin-bottom: -.5rem !important;          /* Negative margin of .5rem for the bottom */
}
.mb-sm-n3 {
    margin-bottom: -1rem !important;           /* Negative margin of 1rem for the bottom */
}
.mb-sm-n4 {
    margin-bottom: -1.5rem !important;         /* Negative margin of 1.5rem for the bottom */
}
.mb-sm-n5 {
    margin-bottom: -3rem !important;           /* Negative margin of 3rem for the bottom */
}

/* Negative Left Margin Utility Classes for Small Screens */
.ms-sm-n1 {
    margin-left: -.25rem !important;           /* Negative margin of .25rem for the left */
}
.ms-sm-n2 {
    margin-left: -.5rem !important;            /* Negative margin of .5rem for the left */
}
.ms-sm-n3 {
    margin-left: -1rem !important;             /* Negative margin of 1rem for the left */
}
.ms-sm-n4 {
    margin-left: -1.5rem !important;           /* Negative margin of 1.5rem for the left */
}
.ms-sm-n5 {
    margin-left: -3rem !important;             /* Negative margin of 3rem for the left */
}

/* Padding Utility Classes for Small Screens */
.p-sm-0 {
    padding: 0 !important;                     /* Zero padding for all sides */
}
.p-sm-1 {
    padding: .25rem !important;                /* Padding of .25rem for all sides */
}
.p-sm-2 {
    padding: .5rem !important;                 /* Padding of .5rem for all sides */
}
.p-sm-3 {
    padding: 1rem !important;                  /* Padding of 1rem for all sides */
}
.p-sm-4 {
    padding: 1.5rem !important;                /* Padding of 1.5rem for all sides */
}
.p-sm-5 {
    padding: 3rem !important;                  /* Padding of 3rem for all sides */
}

/* Horizontal Padding Utility Classes for Small Screens */
.px-sm-0 {
    padding-right: 0 !important;               /* Zero padding for the right and left sides */
    padding-left: 0 !important;
}
.px-sm-1 {
    padding-right: .25rem !important;          /* Padding of .25rem for the right and left sides */
    padding-left: .25rem !important;
}
.px-sm-2 {
    padding-right: .5rem !important;           /* Padding of .5rem for the right and left sides */
    padding-left: .5rem !important;
}
.px-sm-3 {
    padding-right: 1rem !important;            /* Padding of 1rem for the right and left sides */
    padding-left: 1rem !important;
}
.px-sm-4 {
    padding-right: 1.5rem !important;          /* Padding of 1.5rem for the right and left sides */
    padding-left: 1.5rem !important;
}
.px-sm-5 {
    padding-right: 3rem !important;            /* Padding of 3rem for the right and left sides */
    padding-left: 3rem !important;
}

/* Vertical Padding Utility Classes for Small Screens */
.py-sm-0 {
    padding-top: 0 !important;                 /* Zero padding for the top and bottom */
    padding-bottom: 0 !important;
}
.py-sm-1 {
    padding-top: .25rem !important;            /* Padding of .25rem for the top and bottom */
    padding-bottom: .25rem !important;
}
.py-sm-2 {
    padding-top: .5rem !important;             /* Padding of .5rem for the top and bottom */
    padding-bottom: .5rem !important;
}
.py-sm-3 {
    padding-top: 1rem !important;              /* Padding of 1rem for the top and bottom */
    padding-bottom: 1rem !important;
}
.py-sm-4 {
    padding-top: 1.5rem !important;            /* Padding of 1.5rem for the top and bottom */
    padding-bottom: 1.5rem !important;
}
.py-sm-5 {
    padding-top: 3rem !important;              /* Padding of 3rem for the top and bottom */
    padding-bottom: 3rem !important;
}

/* Top Padding Utility Classes for Small Screens */
.pt-sm-0 {
    padding-top: 0 !important;                 /* Zero padding for the top */
}
.pt-sm-1 {
    padding-top: .25rem !important;            /* Padding of .25rem for the top */
}
.pt-sm-2 {
    padding-top: .5rem !important;             /* Padding of .5rem for the top */
}
.pt-sm-3 {
    padding-top: 1rem !important;              /* Padding of 1rem for the top */
}

/* Padding Utilities for Small Screens */
.pt-sm-4 {
    padding-top: 1.5rem !important; /* Sets top padding to 1.5rem */
}

.pt-sm-5 {
    padding-top: 3rem !important; /* Sets top padding to 3rem */
}

.pe-sm-0 {
    padding-right: 0 !important; /* Sets right padding to 0 */
}

.pe-sm-1 {
    padding-right: .25rem !important; /* Sets right padding to .25rem */
}

.pe-sm-2 {
    padding-right: .5rem !important; /* Sets right padding to .5rem */
}

.pe-sm-3 {
    padding-right: 1rem !important; /* Sets right padding to 1rem */
}

.pe-sm-4 {
    padding-right: 1.5rem !important; /* Sets right padding to 1.5rem */
}

.pe-sm-5 {
    padding-right: 3rem !important; /* Sets right padding to 3rem */
}

.pb-sm-0 {
    padding-bottom: 0 !important; /* Sets bottom padding to 0 */
}

.pb-sm-1 {
    padding-bottom: .25rem !important; /* Sets bottom padding to .25rem */
}

.pb-sm-2 {
    padding-bottom: .5rem !important; /* Sets bottom padding to .5rem */
}

.pb-sm-3 {
    padding-bottom: 1rem !important; /* Sets bottom padding to 1rem */
}

.pb-sm-4 {
    padding-bottom: 1.5rem !important; /* Sets bottom padding to 1.5rem */
}

.pb-sm-5 {
    padding-bottom: 3rem !important; /* Sets bottom padding to 3rem */
}

.ps-sm-0 {
    padding-left: 0 !important; /* Sets left padding to 0 */
}

.ps-sm-1 {
    padding-left: .25rem !important; /* Sets left padding to .25rem */
}

.ps-sm-2 {
    padding-left: .5rem !important; /* Sets left padding to .5rem */
}

.ps-sm-3 {
    padding-left: 1rem !important; /* Sets left padding to 1rem */
}

.ps-sm-4 {
    padding-left: 1.5rem !important; /* Sets left padding to 1.5rem */
}

.ps-sm-5 {
    padding-left: 3rem !important; /* Sets left padding to 3rem */
}

/* Text Alignment for Small Screens */
.text-sm-start {
    text-align: left !important; /* Aligns text to the left */
}

.text-sm-end {
    text-align: right !important; /* Aligns text to the right */
}

.text-sm-center {
    text-align: center !important; /* Centers the text */
}

/* Media Queries for Medium Screens */
@media (min-width: 768px) {
    /* Float Utilities for Medium Screens */
    .float-md-start {
        float: left !important; /* Floats the element to the left */
    }

    .float-md-end {
        float: right !important; /* Floats the element to the right */
    }

    .float-md-none {
        float: none !important; /* Removes float */
    }

    /* Display Utilities for Medium Screens */
    .d-md-inline {
        display: inline !important; /* Sets display to inline */
    }

    .d-md-inline-block {
        display: inline-block !important; /* Sets display to inline-block */
    }

    .d-md-block {
        display: block !important; /* Sets display to block */
    }

    .d-md-grid {
        display: grid !important; /* Sets display to grid */
    }

    .d-md-table {
        display: table !important; /* Sets display to table */
    }

    .d-md-table-row {
        display: table-row !important; /* Sets display to table-row */
    }

    .d-md-table-cell {
        display: table-cell !important; /* Sets display to table-cell */
    }

    .d-md-flex {
        display: flex !important; /* Sets display to flex */
    }

    .d-md-inline-flex {
        display: inline-flex !important; /* Sets display to inline-flex */
    }

    .d-md-none {
        display: none !important; /* Hides the element */
    }

    /* Flex Utilities for Medium Screens */
    .flex-md-fill {
        flex: 1 1 auto !important; /* Allows flex item to grow */
    }

    .flex-md-row {
        flex-direction: row !important; /* Sets flex direction to row */
    }

    .flex-md-column {
        flex-direction: column !important; /* Sets flex direction to column */
    }

    .flex-md-row-reverse {
        flex-direction: row-reverse !important; /* Sets flex direction to row-reverse */
    }

    .flex-md-column-reverse {
        flex-direction: column-reverse !important; /* Sets flex direction to column-reverse */
    }
}

/* Flex Growth Utility Classes for Medium Screens */
.flex-md-grow-0 {
    flex-grow: 0 !important;                  /* Prevents the flex item from growing */
}
.flex-md-grow-1 {
    flex-grow: 1 !important;                  /* Allows the flex item to grow */
}

/* Flex Shrink Utility Classes for Medium Screens */
.flex-md-shrink-0 {
    flex-shrink: 0 !important;                /* Prevents the flex item from shrinking */
}
.flex-md-shrink-1 {
    flex-shrink: 1 !important;                /* Allows the flex item to shrink */
}

/* Flex Wrap Utility Classes for Medium Screens */
.flex-md-wrap {
    flex-wrap: wrap !important;               /* Enables wrapping of flex items */
}
.flex-md-nowrap {
    flex-wrap: nowrap !important;             /* Prevents wrapping of flex items */
}
.flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;       /* Wraps flex items in reverse order */
}

/* Gap Utility Classes for Medium Screens */
.gap-md-0 {
    gap: 0 !important;                        /* No gap between flex items */
}
.gap-md-1 {
    gap: .25rem !important;                   /* Gap of .25rem between flex items */
}
.gap-md-2 {
    gap: .5rem !important;                    /* Gap of .5rem between flex items */
}
.gap-md-3 {
    gap: 1rem !important;                     /* Gap of 1rem between flex items */
}
.gap-md-4 {
    gap: 1.5rem !important;                   /* Gap of 1.5rem between flex items */
}
.gap-md-5 {
    gap: 3rem !important;                     /* Gap of 3rem between flex items */
}

/* Justify Content Utility Classes for Medium Screens */
.justify-content-md-start {
    justify-content: flex-start !important;   /* Aligns flex items to the start */
}
.justify-content-md-end {
    justify-content: flex-end !important;     /* Aligns flex items to the end */
}
.justify-content-md-center {
    justify-content: center !important;       /* Centers flex items */
}
.justify-content-md-between {
    justify-content: space-between !important;/* Distributes items with space between */
}
.justify-content-md-around {
    justify-content: space-around !important; /* Distributes items with space around */
}
.justify-content-md-evenly {
    justify-content: space-evenly !important; /* Distributes items with equal space around */
}

/* Align Items Utility Classes for Medium Screens */
.align-items-md-start {
    align-items: flex-start !important;       /* Aligns items to the start of the container */
}
.align-items-md-end {
    align-items: flex-end !important;         /* Aligns items to the end of the container */
}
.align-items-md-center {
    align-items: center !important;           /* Centers items vertically */
}
.align-items-md-baseline {
    align-items: baseline !important;         /* Aligns items along their baseline */
}
 
/* Align Items Utility Classes for Medium Screens */
.align-items-md-stretch {
    align-items: stretch !important;          /* Stretches items to fill the container */
}

/* Align Content Utility Classes for Medium Screens */
.align-content-md-start {
    align-content: flex-start !important;     /* Aligns content to the start of the container */
}
.align-content-md-end {
    align-content: flex-end !important;       /* Aligns content to the end of the container */
}
.align-content-md-center {
    align-content: center !important;         /* Centers the content vertically */
}
.align-content-md-between {
    align-content: space-between !important;  /* Distributes content with space between */
}
.align-content-md-around {
    align-content: space-around !important;   /* Distributes content with space around */
}
.align-content-md-stretch {
    align-content: stretch !important;        /* Stretches content to fill the container */
}

/* Align Self Utility Classes for Medium Screens */
.align-self-md-auto {
    align-self: auto !important;              /* Default alignment for the item */
}
.align-self-md-start {
    align-self: flex-start !important;        /* Aligns the item to the start of the container */
}
.align-self-md-end {
    align-self: flex-end !important;          /* Aligns the item to the end of the container */
}
.align-self-md-center {
    align-self: center !important;            /* Centers the item vertically */
}
.align-self-md-baseline {
    align-self: baseline !important;          /* Aligns the item along the baseline */
}
.align-self-md-stretch {
    align-self: stretch !important;           /* Stretches the item to fill the container */
}

/* Order Utility Classes for Medium Screens */
.order-md-first {
    order: -1 !important;                     /* Places the item first */
}
.order-md-0 {
    order: 0 !important;                      /* Default order */
}
.order-md-1 {
    order: 1 !important;                      /* Places the item in the second position */
}
.order-md-2 {
    order: 2 !important;                      /* Places the item in the third position */
}
.order-md-3 {
    order: 3 !important;                      /* Places the item in the fourth position */
}
.order-md-4 {
    order: 4 !important;                      /* Places the item in the fifth position */
}
.order-md-5 {
    order: 5 !important;                      /* Places the item in the sixth position */
}
.order-md-last {
    order: 6 !important;                      /* Places the item last */
}

/* Margin Utility Classes for Medium Screens */
.m-md-0 {
    margin: 0 !important;                     /* No margin */
}
.m-md-1 {
    margin: .25rem !important;                /* Margin of .25rem */
}
.m-md-2 {
    margin: .5rem !important;                 /* Margin of .5rem */
}
.m-md-3 {
    margin: 1rem !important;                  /* Margin of 1rem */
}
.m-md-4 {
    margin: 1.5rem !important;                /* Margin of 1.5rem */
}
.m-md-5 {
    margin: 3rem !important;                  /* Margin of 3rem */
}
.m-md-auto {
    margin: auto !important;                  /* Automatically adjusts margin */
}

/* Horizontal Margin Utility Classes for Medium Screens */
.mx-md-0 {
    margin-right: 0 !important;               /* No right margin */
    margin-left: 0 !important;                /* No left margin */
}
.mx-md-1 {
    margin-right: .25rem !important;          /* Right margin of .25rem */
    margin-left: .25rem !important;           /* Left margin of .25rem */
}
.mx-md-2 {
    margin-right: .5rem !important;           /* Right margin of .5rem */
    margin-left: .5rem !important;            /* Left margin of .5rem */
}
.mx-md-3 {
    margin-right: 1rem !important;            /* Right margin of 1rem */
    margin-left: 1rem !important;             /* Left margin of 1rem */
}
.mx-md-4 {
    margin-right: 1.5rem !important;          /* Right margin of 1.5rem */
    margin-left: 1.5rem !important;           /* Left margin of 1.5rem */
}
.mx-md-5 {
    margin-right: 3rem !important;            /* Right margin of 3rem */
    margin-left: 3rem !important;             /* Left margin of 3rem */
}
.mx-md-auto {
    margin-right: auto !important;            /* Automatically adjusts right margin */
    margin-left: auto !important;             /* Automatically adjusts left margin */
}

/* Vertical Margin Utility Classes for Medium Screens */
.my-md-0 {
    margin-top: 0 !important;                 /* No top margin */
    margin-bottom: 0 !important;              /* No bottom margin */
}
.my-md-1 {
    margin-top: .25rem !important;            /* Top margin of .25rem */
    margin-bottom: .25rem !important;         /* Bottom margin of .25rem */
}

/* Margin Utilities for Medium Screens */
.my-md-2 {
    margin-top: .5rem !important; /* Sets top and bottom margin to .5rem */
    margin-bottom: .5rem !important;
}

.my-md-3 {
    margin-top: 1rem !important; /* Sets top and bottom margin to 1rem */
    margin-bottom: 1rem !important;
}

.my-md-4 {
    margin-top: 1.5rem !important; /* Sets top and bottom margin to 1.5rem */
    margin-bottom: 1.5rem !important;
}

.my-md-5 {
    margin-top: 3rem !important; /* Sets top and bottom margin to 3rem */
    margin-bottom: 3rem !important;
}

.my-md-auto {
    margin-top: auto !important; /* Automatically adjusts top and bottom margin */
    margin-bottom: auto !important;
}

.mt-md-0 {
    margin-top: 0 !important; /* Sets top margin to 0 */
}

.mt-md-1 {
    margin-top: .25rem !important; /* Sets top margin to .25rem */
}

.mt-md-2 {
    margin-top: .5rem !important; /* Sets top margin to .5rem */
}

.mt-md-3 {
    margin-top: 1rem !important; /* Sets top margin to 1rem */
}

.mt-md-4 {
    margin-top: 1.5rem !important; /* Sets top margin to 1.5rem */
}

.mt-md-5 {
    margin-top: 3rem !important; /* Sets top margin to 3rem */
}

.mt-md-auto {
    margin-top: auto !important; /* Automatically adjusts top margin */
}

.me-md-0 {
    margin-right: 0 !important; /* Sets right margin to 0 */
}

.me-md-1 {
    margin-right: .25rem !important; /* Sets right margin to .25rem */
}

.me-md-2 {
    margin-right: .5rem !important; /* Sets right margin to .5rem */
}

.me-md-3 {
    margin-right: 1rem !important; /* Sets right margin to 1rem */
}

.me-md-4 {
    margin-right: 1.5rem !important; /* Sets right margin to 1.5rem */
}

.me-md-5 {
    margin-right: 3rem !important; /* Sets right margin to 3rem */
}

.me-md-auto {
    margin-right: auto !important; /* Automatically adjusts right margin */
}

.mb-md-0 {
    margin-bottom: 0 !important; /* Sets bottom margin to 0 */
}

.mb-md-1 {
    margin-bottom: .25rem !important; /* Sets bottom margin to .25rem */
}

.mb-md-2 {
    margin-bottom: .5rem !important; /* Sets bottom margin to .5rem */
}

.mb-md-3 {
    margin-bottom: 1rem !important; /* Sets bottom margin to 1rem */
}

.mb-md-4 {
    margin-bottom: 1.5rem !important; /* Sets bottom margin to 1.5rem */
}

.mb-md-5 {
    margin-bottom: 3rem !important; /* Sets bottom margin to 3rem */
}

.mb-md-auto {
    margin-bottom: auto !important; /* Automatically adjusts bottom margin */
}

.ms-md-0 {
    margin-left: 0 !important; /* Sets left margin to 0 */
}

.ms-md-1 {
    margin-left: .25rem !important; /* Sets left margin to .25rem */
}

.ms-md-2 {
    margin-left: .5rem !important; /* Sets left margin to .5rem */
}

.ms-md-3 {
    margin-left: 1rem !important; /* Sets left margin to 1rem */
}

.ms-md-4 {
    margin-left: 1.5rem !important; /* Sets left margin to 1.5rem */
}

.ms-md-5 {
    margin-left: 3rem !important; /* Sets left margin to 3rem */
}

.ms-md-auto {
    margin-left: auto !important; /* Automatically adjusts left margin */
}

/* Negative Margin Utilities for Medium Screens */
.m-md-n1 {
    margin: -.25rem !important; /* Sets negative margin to .25rem */
}

.m-md-n2 {
    margin: -.5rem !important; /* Sets negative margin to .5rem */
}

.m-md-n3 {
    margin: -1rem !important; /* Sets negative margin to 1rem */
}

.m-md-n4 {
    margin: -1.5rem !important; /* Sets negative margin to 1.5rem */
}

.m-md-n5 {
    margin: -3rem !important; /* Sets negative margin to 3rem */
}

.mx-md-n1 {
    margin-right: -.25rem !important; /* Sets negative margin right to .25rem */
    margin-left: -.25rem !important; /* Sets negative margin left to .25rem */
}

.mx-md-n2 {
    margin-right: -.5rem !important; /* Sets negative margin right to .5rem */
    margin-left: -.5rem !important; /* Sets negative margin left to .5rem */
}
               
/* Negative Horizontal Margin Utility Classes for Medium Screens */
.mx-md-n3 {
    margin-right: -1rem !important;           /* Negative right margin of 1rem */
    margin-left: -1rem !important;            /* Negative left margin of 1rem */
}
.mx-md-n4 {
    margin-right: -1.5rem !important;         /* Negative right margin of 1.5rem */
    margin-left: -1.5rem !important;          /* Negative left margin of 1.5rem */
}
.mx-md-n5 {
    margin-right: -3rem !important;           /* Negative right margin of 3rem */
    margin-left: -3rem !important;            /* Negative left margin of 3rem */
}

/* Negative Vertical Margin Utility Classes for Medium Screens */
.my-md-n1 {
    margin-top: -.25rem !important;           /* Negative top margin of .25rem */
    margin-bottom: -.25rem !important;        /* Negative bottom margin of .25rem */
}
.my-md-n2 {
    margin-top: -.5rem !important;            /* Negative top margin of .5rem */
    margin-bottom: -.5rem !important;         /* Negative bottom margin of .5rem */
}
.my-md-n3 {
    margin-top: -1rem !important;             /* Negative top margin of 1rem */
    margin-bottom: -1rem !important;          /* Negative bottom margin of 1rem */
}
.my-md-n4 {
    margin-top: -1.5rem !important;           /* Negative top margin of 1.5rem */
    margin-bottom: -1.5rem !important;        /* Negative bottom margin of 1.5rem */
}
.my-md-n5 {
    margin-top: -3rem !important;             /* Negative top margin of 3rem */
    margin-bottom: -3rem !important;          /* Negative bottom margin of 3rem */
}

/* Negative Top Margin Utility Classes for Medium Screens */
.mt-md-n1 {
    margin-top: -0.25rem !important;          /* Negative top margin of .25rem */
}
.mt-md-n2 {
    margin-top: -0.5rem !important;           /* Negative top margin of .5rem */
}
.mt-md-n3 {
    margin-top: -1rem !important;             /* Negative top margin of 1rem */
}
.mt-md-n4 {
    margin-top: -1.5rem !important;           /* Negative top margin of 1.5rem */
}
.mt-md-n5 {
    margin-top: -3rem !important;             /* Negative top margin of 3rem */
}

/* Negative Right Margin Utility Classes for Medium Screens */
.me-md-n1 {
    margin-right: -0.25rem !important;        /* Negative right margin of .25rem */
}
.me-md-n2 {
    margin-right: -0.5rem !important;         /* Negative right margin of .5rem */
}
.me-md-n3 {
    margin-right: -1rem !important;           /* Negative right margin of 1rem */
}
.me-md-n4 {
    margin-right: -1.5rem !important;         /* Negative right margin of 1.5rem */
}
.me-md-n5 {
    margin-right: -3rem !important;           /* Negative right margin of 3rem */
}

/* Negative Bottom Margin Utility Classes for Medium Screens */
.mb-md-n1 {
    margin-bottom: -0.25rem !important;       /* Negative bottom margin of .25rem */
}
.mb-md-n2 {
    margin-bottom: -0.5rem !important;        /* Negative bottom margin of .5rem */
}
.mb-md-n3 {
    margin-bottom: -1rem !important;          /* Negative bottom margin of 1rem */
}
.mb-md-n4 {
    margin-bottom: -1.5rem !important;        /* Negative bottom margin of 1.5rem */
}
.mb-md-n5 {
    margin-bottom: -3rem !important;          /* Negative bottom margin of 3rem */
}

/* Negative Left Margin Utility Classes for Medium Screens */
.ms-md-n1 {
    margin-left: -0.25rem !important;         /* Negative left margin of .25rem */
}
.ms-md-n2 {
    margin-left: -0.5rem !important;          /* Negative left margin of .5rem */
}
.ms-md-n3 {
    margin-left: -1rem !important;            /* Negative left margin of 1rem */
}
.ms-md-n4 {
    margin-left: -1.5rem !important;          /* Negative left margin of 1.5rem */
}
.ms-md-n5 {
    margin-left: -3rem !important;            /* Negative left margin of 3rem */
}

/* Padding Utility Classes for Medium Screens */
.p-md-0 {
    padding: 0 !important;                    /* No padding */
}
.p-md-1 {
    padding: .25rem !important;               /* Padding of .25rem */
}
.p-md-2 {
    padding: .5rem !important;                /* Padding of .5rem */
}
.p-md-3 {
    padding: 1rem !important;                 /* Padding of 1rem */
}
.p-md-4 {
    padding: 1.5rem !important;               /* Padding of 1.5rem */
}


/* Padding Utilities for Medium Screens */
.p-md-5 {
    padding: 3rem !important; /* Sets all padding to 3rem */
}

.px-md-0 {
    padding-right: 0 !important; /* Sets horizontal padding to 0 */
    padding-left: 0 !important;
}

.px-md-1 {
    padding-right: .25rem !important; /* Sets horizontal padding to .25rem */
    padding-left: .25rem !important;
}

.px-md-2 {
    padding-right: .5rem !important; /* Sets horizontal padding to .5rem */
    padding-left: .5rem !important;
}

.px-md-3 {
    padding-right: 1rem !important; /* Sets horizontal padding to 1rem */
    padding-left: 1rem !important;
}

.px-md-4 {
    padding-right: 1.5rem !important; /* Sets horizontal padding to 1.5rem */
    padding-left: 1.5rem !important;
}

.px-md-5 {
    padding-right: 3rem !important; /* Sets horizontal padding to 3rem */
    padding-left: 3rem !important;
}

.py-md-0 {
    padding-top: 0 !important; /* Sets vertical padding to 0 */
    padding-bottom: 0 !important;
}

.py-md-1 {
    padding-top: .25rem !important; /* Sets vertical padding to .25rem */
    padding-bottom: .25rem !important;
}

.py-md-2 {
    padding-top: .5rem !important; /* Sets vertical padding to .5rem */
    padding-bottom: .5rem !important;
}

.py-md-3 {
    padding-top: 1rem !important; /* Sets vertical padding to 1rem */
    padding-bottom: 1rem !important;
}

.py-md-4 {
    padding-top: 1.5rem !important; /* Sets vertical padding to 1.5rem */
    padding-bottom: 1.5rem !important;
}

.py-md-5 {
    padding-top: 3rem !important; /* Sets vertical padding to 3rem */
    padding-bottom: 3rem !important;
}

.pt-md-0 {
    padding-top: 0 !important; /* Sets top padding to 0 */
}

.pt-md-1 {
    padding-top: .25rem !important; /* Sets top padding to .25rem */
}

.pt-md-2 {
    padding-top: .5rem !important; /* Sets top padding to .5rem */
}

.pt-md-3 {
    padding-top: 1rem !important; /* Sets top padding to 1rem */
}

.pt-md-4 {
    padding-top: 1.5rem !important; /* Sets top padding to 1.5rem */
}

.pt-md-5 {
    padding-top: 3rem !important; /* Sets top padding to 3rem */
}

.pe-md-0 {
    padding-right: 0 !important; /* Sets right padding to 0 */
}

.pe-md-1 {
    padding-right: .25rem !important; /* Sets right padding to .25rem */
}

.pe-md-2 {
    padding-right: .5rem !important; /* Sets right padding to .5rem */
}

.pe-md-3 {
    padding-right: 1rem !important; /* Sets right padding to 1rem */
}

.pe-md-4 {
    padding-right: 1.5rem !important; /* Sets right padding to 1.5rem */
}

.pe-md-5 {
    padding-right: 3rem !important; /* Sets right padding to 3rem */
}

.pb-md-0 {
    padding-bottom: 0 !important; /* Sets bottom padding to 0 */
}

.pb-md-1 {
    padding-bottom: .25rem !important; /* Sets bottom padding to .25rem */
}

.pb-md-2 {
    padding-bottom: .5rem !important; /* Sets bottom padding to .5rem */
}

.pb-md-3 {
    padding-bottom: 1rem !important; /* Sets bottom padding to 1rem */
}



/* Padding Bottom Utility Classes for Medium Screens */
.pb-md-4 {
    padding-bottom: 1.5rem !important;       /* Padding-bottom of 1.5rem */
}
.pb-md-5 {
    padding-bottom: 3rem !important;         /* Padding-bottom of 3rem */
}

/* Padding Start (Left) Utility Classes for Medium Screens */
.ps-md-0 {
    padding-left: 0 !important;               /* No left padding */
}
.ps-md-1 {
    padding-left: .25rem !important;          /* Left padding of .25rem */
}
.ps-md-2 {
    padding-left: .5rem !important;           /* Left padding of .5rem */
}
.ps-md-3 {
    padding-left: 1rem !important;            /* Left padding of 1rem */
}
.ps-md-4 {
    padding-left: 1.5rem !important;          /* Left padding of 1.5rem */
}
.ps-md-5 {
    padding-left: 3rem !important;            /* Left padding of 3rem */
}

/* Text Alignment Utility Classes for Medium Screens */
.text-md-start {
    text-align: left !important;               /* Text aligned to the left */
}
.text-md-end {
    text-align: right !important;              /* Text aligned to the right */
}
.text-md-center {
    text-align: center !important;             /* Text aligned to the center */
}

/* Responsive Utility Classes for Large Screens */
@media (min-width: 992px) {
    /* Float Utility Classes for Large Screens */
    .float-lg-start {
        float: left !important;                /* Float element to the left */
    }
    .float-lg-end {
        float: right !important;               /* Float element to the right */
    }
    .float-lg-none {
        float: none !important;                /* No float */
    }

    /* Display Utility Classes for Large Screens */
    .d-lg-inline {
        display: inline !important;            /* Display element as inline */
    }
    .d-lg-inline-block {
        display: inline-block !important;      /* Display element as inline-block */
    }
    .d-lg-block {
        display: block !important;             /* Display element as block */
    }
    .d-lg-grid {
        display: grid !important;              /* Display element as grid */
    }
    .d-lg-table {
        display: table !important;             /* Display element as table */
    }
    .d-lg-table-row {
        display: table-row !important;         /* Display element as table-row */
    }
    .d-lg-table-cell {
        display: table-cell !important;        /* Display element as table-cell */
    }
    .d-lg-flex {
        display: flex !important;              /* Display element as flex */
    }
    .d-lg-inline-flex {
        display: inline-flex !important;       /* Display element as inline-flex */
    }
    .d-lg-none {
        display: none !important;              /* Hide element */
    }

    /* Flexbox Utility Classes for Large Screens */
    .flex-lg-fill {
        flex: 1 1 auto !important;            /* Flex fill */
    }
    .flex-lg-row {
        flex-direction: row !important;       /* Flex direction: row */
    }
    .flex-lg-column {
        flex-direction: column !important;    /* Flex direction: column */
    }
    .flex-lg-row-reverse {
        flex-direction: row-reverse !important; /* Flex direction: row-reverse */
    }
    .flex-lg-column-reverse {
        flex-direction: column-reverse !important; /* Flex direction: column-reverse */
    }
    .flex-lg-grow-0 {
        flex-grow: 0 !important;               /* Flex grow: 0 */
    }
    .flex-lg-grow-1 {
        flex-grow: 1 !important;               /* Flex grow: 1 */
    }
    .flex-lg-shrink-0 {
        flex-shrink: 0 !important;             /* Flex shrink: 0 */
    }
    .flex-lg-shrink-1 {
        flex-shrink: 1 !important;             /* Flex shrink: 1 */
    }
    .flex-lg-wrap {
        flex-wrap: wrap !important;            /* Flex wrap */
    }
    .flex-lg-nowrap {
        flex-wrap: nowrap !important;          /* No flex wrap */
    }
    .flex-lg-wrap-reverse {
        flex-wrap: wrap-reverse !important;    /* Flex wrap reverse */
    }

    /* Gap Utility Classes for Large Screens */
    .gap-lg-0 {
        gap: 0 !important;                     /* No gap */
    }
    .gap-lg-1 {
        gap: .25rem !important;                /* Gap of .25rem */
    }
    .gap-lg-2 {
        gap: .5rem !important;                 /* Gap of .5rem */
    }
    .gap-lg-3 {
        gap: 1rem !important;                  /* Gap of 1rem */
    }
    .gap-lg-4 {
        gap: 1.5rem !important;                /* Gap of 1.5rem */
    }
    .gap-lg-5 {
        gap: 3rem !important;                  /* Gap of 3rem */
    }

    /* Justify Content Utility Classes for Large Screens */
    .justify-content-lg-start {
        justify-content: flex-start !important; /* Justify content to the start */
    }
    .justify-content-lg-end {
        justify-content: flex-end !important;   /* Justify content to the end */
    }
    .justify-content-lg-center {
        justify-content: center !important;     /* Center justify content */
    }
}

/* Justification and Alignment Utilities for Large Screens */
.justify-content-lg-between {
    justify-content: space-between !important; /* Space between flex items */
}

.justify-content-lg-around {
    justify-content: space-around !important; /* Space around flex items */
}

.justify-content-lg-evenly {
    justify-content: space-evenly !important; /* Even space around flex items */
}

.align-items-lg-start {
    align-items: flex-start !important; /* Align items to the start */
}

.align-items-lg-end {
    align-items: flex-end !important; /* Align items to the end */
}

.align-items-lg-center {
    align-items: center !important; /* Center align items */
}

.align-items-lg-baseline {
    align-items: baseline !important; /* Align items along the baseline */
}

.align-items-lg-stretch {
    align-items: stretch !important; /* Stretch items to fill container */
}

.align-content-lg-start {
    align-content: flex-start !important; /* Align content to the start */
}

.align-content-lg-end {
    align-content: flex-end !important; /* Align content to the end */
}

.align-content-lg-center {
    align-content: center !important; /* Center align content */
}

.align-content-lg-between {
    align-content: space-between !important; /* Space between lines of content */
}

.align-content-lg-around {
    align-content: space-around !important; /* Space around lines of content */
}

.align-content-lg-stretch {
    align-content: stretch !important; /* Stretch lines to fill container */
}

.align-self-lg-auto {
    align-self: auto !important; /* Default alignment for self */
}

.align-self-lg-start {
    align-self: flex-start !important; /* Align self to the start */
}

/* Align Self Utility Classes for Large Screens */
.align-self-lg-end {
    align-self: flex-end !important;           /* Align self to the end */
}
.align-self-lg-center {
    align-self: center !important;              /* Align self to the center */
}
.align-self-lg-baseline {
    align-self: baseline !important;            /* Align self to baseline */
}
.align-self-lg-stretch {
    align-self: stretch !important;             /* Align self to stretch */
}

/* Order Utility Classes for Large Screens */
.order-lg-first {
    order: -1 !important;                       /* Order first */
}
.order-lg-0 {
    order: 0 !important;                        /* Order 0 */
}
.order-lg-1 {
    order: 1 !important;                        /* Order 1 */
}
.order-lg-2 {
    order: 2 !important;                        /* Order 2 */
}
.order-lg-3 {
    order: 3 !important;                        /* Order 3 */
}
.order-lg-4 {
    order: 4 !important;                        /* Order 4 */
}
.order-lg-5 {
    order: 5 !important;                        /* Order 5 */
}
.order-lg-last {
    order: 6 !important;                        /* Order last */
}

/* Margin Utility Classes for Large Screens */
.m-lg-0 {
    margin: 0 !important;                      /* No margin */
}
.m-lg-1 {
    margin: .25rem !important;                 /* Margin of .25rem */
}
.m-lg-2 {
    margin: .5rem !important;                  /* Margin of .5rem */
}
.m-lg-3 {
    margin: 1rem !important;                   /* Margin of 1rem */
}
.m-lg-4 {
    margin: 1.5rem !important;                 /* Margin of 1.5rem */
}
.m-lg-5 {
    margin: 3rem !important;                   /* Margin of 3rem */
}
.m-lg-auto {
    margin: auto !important;                   /* Auto margin */
}

/* Horizontal Margin Utility Classes for Large Screens */
.mx-lg-0 {
    margin-right: 0 !important;                /* No right margin */
    margin-left: 0 !important;                 /* No left margin */
}
.mx-lg-1 {
    margin-right: .25rem !important;           /* Right and left margin of .25rem */
    margin-left: .25rem !important;
}
.mx-lg-2 {
    margin-right: .5rem !important;            /* Right and left margin of .5rem */
    margin-left: .5rem !important;
}
.mx-lg-3 {
    margin-right: 1rem !important;             /* Right and left margin of 1rem */
    margin-left: 1rem !important;
}
.mx-lg-4 {
    margin-right: 1.5rem !important;           /* Right and left margin of 1.5rem */
    margin-left: 1.5rem !important;
}
.mx-lg-5 {
    margin-right: 3rem !important;             /* Right and left margin of 3rem */
    margin-left: 3rem !important;
}
.mx-lg-auto {
    margin-right: auto !important;             /* Auto right margin */
    margin-left: auto !important;              /* Auto left margin */
}

/* Vertical Margin Utility Classes for Large Screens */
.my-lg-0 {
    margin-top: 0 !important;                  /* No top and bottom margin */
    margin-bottom: 0 !important;
}
.my-lg-1 {
    margin-top: .25rem !important;             /* Top and bottom margin of .25rem */
    margin-bottom: .25rem !important;
}
.my-lg-2 {
    margin-top: .5rem !important;              /* Top and bottom margin of .5rem */
    margin-bottom: .5rem !important;
}
.my-lg-3 {
    margin-top: 1rem !important;               /* Top and bottom margin of 1rem */
    margin-bottom: 1rem !important;
}
.my-lg-4 {
    margin-top: 1.5rem !important;             /* Top and bottom margin of 1.5rem */
    margin-bottom: 1.5rem !important;
}
.my-lg-5 {
    margin-top: 3rem !important;               /* Top and bottom margin of 3rem */
    margin-bottom: 3rem !important;
}
.my-lg-auto {
    margin-top: auto !important;                /* Auto top margin */
    margin-bottom: auto !important;             /* Auto bottom margin */
}

/* Top Margin Utility Classes for Large Screens */
.mt-lg-0 {
    margin-top: 0 !important;                  /* No top margin */
}
.mt-lg-1 {
    margin-top: .25rem !important;             /* Top margin of .25rem */
}
.mt-lg-2 {
    margin-top: .5rem !important;              /* Top margin of .5rem */
}
.mt-lg-3 {
    margin-top: 1rem !important;               /* Top margin of 1rem */
}
.mt-lg-4 {
    margin-top: 1.5rem !important;             /* Top margin of 1.5rem */
}
.mt-lg-5 {
    margin-top: 3rem !important;               /* Top margin of 3rem */
}
.mt-lg-auto {
    margin-top: auto !important;               /* Auto top margin */
}

/* End Margin Utility Classes for Large Screens */
.me-lg-0 {
    margin-right: 0 !important;                /* No right margin */
}
.me-lg-1 {
    margin-right: .25rem !important;           /* Right margin of .25rem */
}
.me-lg-2 {
    margin-right: .5rem !important;            /* Right margin of .5rem */
}
.me-lg-3 {
    margin-right: 1rem !important;             /* Right margin of 1rem */
}

/* Margin Utilities for Large Screens */
.me-lg-4 {
    margin-right: 1.5rem !important; /* Right margin: 1.5rem */
}

.me-lg-5 {
    margin-right: 3rem !important; /* Right margin: 3rem */
}

.me-lg-auto {
    margin-right: auto !important; /* Auto right margin */
}

.mb-lg-0 {
    margin-bottom: 0 !important; /* Bottom margin: 0 */
}

.mb-lg-1 {
    margin-bottom: .25rem !important; /* Bottom margin: 0.25rem */
}

.mb-lg-2 {
    margin-bottom: .5rem !important; /* Bottom margin: 0.5rem */
}

.mb-lg-3 {
    margin-bottom: 1rem !important; /* Bottom margin: 1rem */
}

.mb-lg-4 {
    margin-bottom: 1.5rem !important; /* Bottom margin: 1.5rem */
}

.mb-lg-5 {
    margin-bottom: 3rem !important; /* Bottom margin: 3rem */
}

.mb-lg-auto {
    margin-bottom: auto !important; /* Auto bottom margin */
}

.ms-lg-0 {
    margin-left: 0 !important; /* Left margin: 0 */
}

.ms-lg-1 {
    margin-left: .25rem !important; /* Left margin: 0.25rem */
}

.ms-lg-2 {
    margin-left: .5rem !important; /* Left margin: 0.5rem */
}

.ms-lg-3 {
    margin-left: 1rem !important; /* Left margin: 1rem */
}

.ms-lg-4 {
    margin-left: 1.5rem !important; /* Left margin: 1.5rem */
}

.ms-lg-5 {
    margin-left: 3rem !important; /* Left margin: 3rem */
}

.ms-lg-auto {
    margin-left: auto !important; /* Auto left margin */
}

.m-lg-n1 {
    margin: -.25rem !important; /* Negative margin: -0.25rem */
}

.m-lg-n2 {
    margin: -.5rem !important; /* Negative margin: -0.5rem */
}

.m-lg-n3 {
    margin: -1rem !important; /* Negative margin: -1rem */
}

.m-lg-n4 {
    margin: -1.5rem !important; /* Negative margin: -1.5rem */
}

.m-lg-n5 {
    margin: -3rem !important; /* Negative margin: -3rem */
}

.mx-lg-n1 {
    margin-right: -.25rem !important; /* Negative margin-right: -0.25rem */
    margin-left: -.25rem !important; /* Negative margin-left: -0.25rem */
}

.mx-lg-n2 {
    margin-right: -.5rem !important; /* Negative margin-right: -0.5rem */
    margin-left: -.5rem !important; /* Negative margin-left: -0.5rem */
}

.mx-lg-n3 {
    margin-right: -1rem !important; /* Negative margin-right: -1rem */
    margin-left: -1rem !important; /* Negative margin-left: -1rem */
}

.mx-lg-n4 {
    margin-right: -1.5rem !important; /* Negative margin-right: -1.5rem */
    margin-left: -1.5rem !important; /* Negative margin-left: -1.5rem */
}

.mx-lg-n5 {
    margin-right: -3rem !important; /* Negative margin-right: -3rem */
    margin-left: -3rem !important; /* Negative margin-left: -3rem */
}

.my-lg-n1 {
    margin-top: -.25rem !important; /* Negative margin-top: -0.25rem */
    margin-bottom: -.25rem !important; /* Negative margin-bottom: -0.25rem */
}

.my-lg-n2 {
    margin-top: -.5rem !important; /* Negative margin-top: -0.5rem */
    margin-bottom: -.5rem !important; /* Negative margin-bottom: -0.5rem */
}

.my-lg-n3 {
    margin-top: -1rem !important; /* Negative margin-top: -1rem */
    margin-bottom: -1rem !important; /* Negative margin-bottom: -1rem */
}

.my-lg-n4 {
    margin-top: -1.5rem !important; /* Negative margin-top: -1.5rem */
    margin-bottom: -1.5rem !important; /* Negative margin-bottom: -1.5rem */
}

.my-lg-n5 {
    margin-top: -3rem !important; /* Negative margin-top: -3rem */
    margin-bottom: -3rem !important; /* Negative margin-bottom: -3rem */
}

.mt-lg-n1 {
    margin-top: -.25rem !important; /* Negative margin-top: -0.25rem */
}

.mt-lg-n2 {
    margin-top: -.5rem !important; /* Negative margin-top: -0.5rem */
}

.mt-lg-n3 {
    margin-top: -1rem !important; /* Negative margin-top: -1rem */
}

.mt-lg-n4 {
    margin-top: -1.5rem !important; /* Negative margin-top: -1.5rem */
}

.mt-lg-n5 {
    margin-top: -3rem !important; /* Negative margin-top: -3rem */
}

.me-lg-n1 {
    margin-right: -.25rem !important; /* Negative margin-right: -0.25rem */
}

.me-lg-n2 {
    margin-right: -.5rem !important; /* Negative margin-right: -0.5rem */
}

.me-lg-n3 {
    margin-right: -1rem !important; /* Negative margin-right: -1rem */
}

/* Negative Margin Utility Classes for Large Screens */
/* Right Margin */
.me-lg-n4 {
    margin-right: -1.5rem !important;          /* Negative right margin of 1.5rem */
}
.me-lg-n5 {
    margin-right: -3rem !important;            /* Negative right margin of 3rem */
}

/* Bottom Margin */
.mb-lg-n1 {
    margin-bottom: -.25rem !important;         /* Negative bottom margin of .25rem */
}
.mb-lg-n2 {
    margin-bottom: -.5rem !important;          /* Negative bottom margin of .5rem */
}
.mb-lg-n3 {
    margin-bottom: -1rem !important;           /* Negative bottom margin of 1rem */
}
.mb-lg-n4 {
    margin-bottom: -1.5rem !important;         /* Negative bottom margin of 1.5rem */
}
.mb-lg-n5 {
    margin-bottom: -3rem !important;           /* Negative bottom margin of 3rem */
}

/* Left Margin */
.ms-lg-n1 {
    margin-left: -.25rem !important;           /* Negative left margin of .25rem */
}
.ms-lg-n2 {
    margin-left: -.5rem !important;            /* Negative left margin of .5rem */
}
.ms-lg-n3 {
    margin-left: -1rem !important;             /* Negative left margin of 1rem */
}
.ms-lg-n4 {
    margin-left: -1.5rem !important;           /* Negative left margin of 1.5rem */
}
.ms-lg-n5 {
    margin-left: -3rem !important;             /* Negative left margin of 3rem */
}

/* Padding Utility Classes for Large Screens */
.p-lg-0 {
    padding: 0 !important;                      /* No padding */
}
.p-lg-1 {
    padding: .25rem !important;                 /* Padding of .25rem */
}
.p-lg-2 {
    padding: .5rem !important;                  /* Padding of .5rem */
}
.p-lg-3 {
    padding: 1rem !important;                   /* Padding of 1rem */
}


/* Padding Utilities for Large Screens */
.p-lg-4 {
    padding: 1.5rem !important; /* Padding: 1.5rem */
}

.p-lg-5 {
    padding: 3rem !important; /* Padding: 3rem */
}

.px-lg-0 {
    padding-right: 0 !important; /* Right padding: 0 */
    padding-left: 0 !important; /* Left padding: 0 */
}

.px-lg-1 {
    padding-right: .25rem !important; /* Right padding: 0.25rem */
    padding-left: .25rem !important; /* Left padding: 0.25rem */
}

.px-lg-2 {
    padding-right: .5rem !important; /* Right padding: 0.5rem */
    padding-left: .5rem !important; /* Left padding: 0.5rem */
}

.px-lg-3 {
    padding-right: 1rem !important; /* Right padding: 1rem */
    padding-left: 1rem !important; /* Left padding: 1rem */
}

.px-lg-4 {
    padding-right: 1.5rem !important; /* Right padding: 1.5rem */
    padding-left: 1.5rem !important; /* Left padding: 1.5rem */
}

.px-lg-5 {
    padding-right: 3rem !important; /* Right padding: 3rem */
    padding-left: 3rem !important; /* Left padding: 3rem */
}

.py-lg-0 {
    padding-top: 0 !important; /* Top padding: 0 */
    padding-bottom: 0 !important; /* Bottom padding: 0 */
}

.py-lg-1 {
    padding-top: .25rem !important; /* Top padding: 0.25rem */
    padding-bottom: .25rem !important; /* Bottom padding: 0.25rem */
}

.py-lg-2 {
    padding-top: .5rem !important; /* Top padding: 0.5rem */
    padding-bottom: .5rem !important; /* Bottom padding: 0.5rem */
}

.py-lg-3 {
    padding-top: 1rem !important; /* Top padding: 1rem */
    padding-bottom: 1rem !important; /* Bottom padding: 1rem */
}

.py-lg-4 {
    padding-top: 1.5rem !important; /* Top padding: 1.5rem */
    padding-bottom: 1.5rem !important; /* Bottom padding: 1.5rem */
}

.py-lg-5 {
    padding-top: 3rem !important; /* Top padding: 3rem */
    padding-bottom: 3rem !important; /* Bottom padding: 3rem */
}

.pt-lg-0 {
    padding-top: 0 !important; /* Top padding: 0 */
}

.pt-lg-1 {
    padding-top: .25rem !important; /* Top padding: 0.25rem */
}

.pt-lg-2 {
    padding-top: .5rem !important; /* Top padding: 0.5rem */
}

.pt-lg-3 {
    padding-top: 1rem !important; /* Top padding: 1rem */
}

.pt-lg-4 {
    padding-top: 1.5rem !important; /* Top padding: 1.5rem */
}

.pt-lg-5 {
    padding-top: 3rem !important; /* Top padding: 3rem */
}

.pe-lg-0 {
    padding-right: 0 !important; /* Right padding: 0 */
}

.pe-lg-1 {
    padding-right: .25rem !important; /* Right padding: 0.25rem */
}

/* Padding Utility Classes for Extra-Large Screens */
/* Right Padding */
.pe-lg-2 {
    padding-right: .5rem !important;            /* Right padding of .5rem */
}
.pe-lg-3 {
    padding-right: 1rem !important;             /* Right padding of 1rem */
}
.pe-lg-4 {
    padding-right: 1.5rem !important;           /* Right padding of 1.5rem */
}
.pe-lg-5 {
    padding-right: 3rem !important;             /* Right padding of 3rem */
}

/* Bottom Padding */
.pb-lg-0 {
    padding-bottom: 0 !important;                /* No bottom padding */
}
.pb-lg-1 {
    padding-bottom: .25rem !important;           /* Bottom padding of .25rem */
}
.pb-lg-2 {
    padding-bottom: .5rem !important;            /* Bottom padding of .5rem */
}
.pb-lg-3 {
    padding-bottom: 1rem !important;             /* Bottom padding of 1rem */
}
.pb-lg-4 {
    padding-bottom: 1.5rem !important;           /* Bottom padding of 1.5rem */
}
.pb-lg-5 {
    padding-bottom: 3rem !important;             /* Bottom padding of 3rem */
}

/* Left Padding */
.ps-lg-0 {
    padding-left: 0 !important;                  /* No left padding */
}
.ps-lg-1 {
    padding-left: .25rem !important;             /* Left padding of .25rem */
}
.ps-lg-2 {
    padding-left: .5rem !important;              /* Left padding of .5rem */
}
.ps-lg-3 {
    padding-left: 1rem !important;               /* Left padding of 1rem */
}
.ps-lg-4 {
    padding-left: 1.5rem !important;             /* Left padding of 1.5rem */
}
.ps-lg-5 {
    padding-left: 3rem !important;               /* Left padding of 3rem */
}

/* Text Alignment Utility Classes for Extra-Large Screens */
.text-lg-start {
    text-align: left !important;                 /* Left text alignment */
}
.text-lg-end {
    text-align: right !important;                /* Right text alignment */
}
.text-lg-center {
    text-align: center !important;               /* Center text alignment */
}

/* Display Utility Classes for Extra-Large Screens */
@media (min-width: 1200px) {
    /* Float Utilities */
    .float-xl-start {
        float: left !important;                  /* Float left */
    }
    .float-xl-end {
        float: right !important;                 /* Float right */
    }
    .float-xl-none {
        float: none !important;                  /* No float */
    }

    /* Display Utilities */
    .d-xl-inline {
        display: inline !important;              /* Display inline */
    }
    .d-xl-inline-block {
        display: inline-block !important;        /* Display inline-block */
    }
    .d-xl-block {
        display: block !important;                /* Display block */
    }
    .d-xl-grid {
        display: grid !important;                 /* Display grid */
    }
    .d-xl-table {
        display: table !important;                /* Display table */
    }
    .d-xl-table-row {
        display: table-row !important;            /* Display table-row */
    }
    .d-xl-table-cell {
        display: table-cell !important;           /* Display table-cell */
    }
    .d-xl-flex {
        display: flex !important;                 /* Display flex */
    }
    .d-xl-inline-flex {
        display: inline-flex !important;          /* Display inline-flex */
    }
    .d-xl-none {
        display: none !important;                 /* Hide element */
    }

    /* Flex Utilities */
    .flex-xl-fill {
        flex: 1 1 auto !important;               /* Flex fill */
    }
}

/* Flexbox Utilities for Extra-Large Screens */
.flex-xl-row {
    flex-direction: row !important; /* Flex direction: row */
}

.flex-xl-column {
    flex-direction: column !important; /* Flex direction: column */
}

.flex-xl-row-reverse {
    flex-direction: row-reverse !important; /* Flex direction: row-reverse */
}

.flex-xl-column-reverse {
    flex-direction: column-reverse !important; /* Flex direction: column-reverse */
}

.flex-xl-grow-0 {
    flex-grow: 0 !important; /* Prevents the item from growing */
}

.flex-xl-grow-1 {
    flex-grow: 1 !important; /* Allows the item to grow */
}

.flex-xl-shrink-0 {
    flex-shrink: 0 !important; /* Prevents the item from shrinking */
}

.flex-xl-shrink-1 {
    flex-shrink: 1 !important; /* Allows the item to shrink */
}

.flex-xl-wrap {
    flex-wrap: wrap !important; /* Allows flex items to wrap onto multiple lines */
}

.flex-xl-nowrap {
    flex-wrap: nowrap !important; /* Prevents flex items from wrapping */
}

.flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important; /* Wraps flex items in reverse order */
}

.gap-xl-0 {
    gap: 0 !important; /* No gap between flex items */
}

.gap-xl-1 {
    gap: .25rem !important; /* Gap: 0.25rem */
}

.gap-xl-2 {
    gap: .5rem !important; /* Gap: 0.5rem */
}

.gap-xl-3 {
    gap: 1rem !important; /* Gap: 1rem */
}

.gap-xl-4 {
    gap: 1.5rem !important; /* Gap: 1.5rem */
}

.gap-xl-5 {
    gap: 3rem !important; /* Gap: 3rem */
}


/* Flexbox Justification Utility Classes for Extra-Large Screens */

/* Justify Content */
.justify-content-xl-start {
    justify-content: flex-start !important;      /* Align items to the start */
}
.justify-content-xl-end {
    justify-content: flex-end !important;        /* Align items to the end */
}
.justify-content-xl-center {
    justify-content: center !important;          /* Center align items */
}
.justify-content-xl-between {
    justify-content: space-between !important;   /* Distribute items evenly with space between */
}
.justify-content-xl-around {
    justify-content: space-around !important;    /* Distribute items evenly with space around */
}

 
.justify-content-xl-evenly {
    justify-content: space-evenly !important}    /* Distribute items evenly with equal space around */

/* Flexbox Alignment Utility Classes for Extra-Large Screens */

/* Align Items */
.align-items-xl-start {
    align-items: flex-start !important;          /* Align items to the start */
}
.align-items-xl-end {
    align-items: flex-end !important;            /* Align items to the end */
}
.align-items-xl-center {
    align-items: center !important;              /* Center align items */
}
.align-items-xl-baseline {
    align-items: baseline !important;            /* Align items along their baselines */
}
.align-items-xl-stretch {
    align-items: stretch !important;             /* Stretch items to fill the container */
}

/* Align Content */
.align-content-xl-start {
    align-content: flex-start !important;        /* Align content to the start */
}
.align-content-xl-end {
    align-content: flex-end !important;          /* Align content to the end */
}
.align-content-xl-center {
    align-content: center !important;            /* Center align content */
}
.align-content-xl-between {
    align-content: space-between !important;     /* Distribute content evenly with space between */
}
.align-content-xl-around {
    align-content: space-around !important;      /* Distribute content evenly with space around */
}
.align-content-xl-stretch {
    align-content: stretch !important;           /* Stretch content to fill the container */
}

/* Align Self */
.align-self-xl-auto {
    align-self: auto !important;                 /* Default alignment */
}
.align-self-xl-start {
    align-self: flex-start !important;           /* Align self to the start */
}
.align-self-xl-end {
    align-self: flex-end !important;             /* Align self to the end */
}
.align-self-xl-center {
    align-self: center !important;               /* Center align self */
}


/* Alignment and Order Utilities for Extra-Large Screens */
.align-self-xl-baseline {
    align-self: baseline !important; /* Aligns item to the baseline */
}

.align-self-xl-stretch {
    align-self: stretch !important; /* Stretches the item to fill the container */
}

.order-xl-first {
    order: -1 !important; /* Moves the item to the first position */
}

.order-xl-0 {
    order: 0 !important; /* Sets the item's order to 0 */
}

.order-xl-1 {
    order: 1 !important; /* Sets the item's order to 1 */
}

.order-xl-2 {
    order: 2 !important; /* Sets the item's order to 2 */
}

.order-xl-3 {
    order: 3 !important; /* Sets the item's order to 3 */
}

.order-xl-4 {
    order: 4 !important; /* Sets the item's order to 4 */
}

.order-xl-5 {
    order: 5 !important; /* Sets the item's order to 5 */
}

.order-xl-last {
    order: 6 !important; /* Moves the item to the last position */
}

/* Margin Utilities for Extra-Large Screens */
.m-xl-0 {
    margin: 0 !important; /* Sets margin to 0 */
}

.m-xl-1 {
    margin: .25rem !important; /* Margin: 0.25rem */
}

.m-xl-2 {
    margin: .5rem !important; /* Margin: 0.5rem */
}

.m-xl-3 {
    margin: 1rem !important; /* Margin: 1rem */
}

.m-xl-4 {
    margin: 1.5rem !important; /* Margin: 1.5rem */
}

.m-xl-5 {
    margin: 3rem !important; /* Margin: 3rem */
}

.m-xl-auto {
    margin: auto !important; /* Automatically adjusts margins */
}

.mx-xl-0 {
    margin-right: 0 !important; /* Sets horizontal margin to 0 */
    margin-left: 0 !important; /* Sets horizontal margin to 0 */
}

.mx-xl-1 {
    margin-right: .25rem !important; /* Horizontal margin: 0.25rem */
    margin-left: .25rem !important; /* Horizontal margin: 0.25rem */
}

.mx-xl-2 {
    margin-right: .5rem !important; /* Horizontal margin: 0.5rem */
    margin-left: .5rem !important; /* Horizontal margin: 0.5rem */
}

.mx-xl-3 {
    margin-right: 1rem !important; /* Horizontal margin: 1rem */
    margin-left: 1rem !important; /* Horizontal margin: 1rem */
}

.mx-xl-4 {
    margin-right: 1.5rem !important; /* Horizontal margin: 1.5rem */
    margin-left: 1.5rem !important; /* Horizontal margin: 1.5rem */
}

.mx-xl-5 {
    margin-right: 3rem !important; /* Horizontal margin: 3rem */
    margin-left: 3rem !important; /* Horizontal margin: 3rem */
}

.mx-xl-auto {
    margin-right: auto !important; /* Automatically adjusts right margin */
    margin-left: auto !important; /* Automatically adjusts left margin */
}

.my-xl-0 {
    margin-top: 0 !important; /* Sets vertical margin to 0 */
    margin-bottom: 0 !important; /* Sets vertical margin to 0 */
}

.my-xl-1 {
    margin-top: .25rem !important; /* Vertical margin: 0.25rem */
    margin-bottom: .25rem !important; /* Vertical margin: 0.25rem */
}

.my-xl-2 {
    margin-top: .5rem !important; /* Vertical margin: 0.5rem */
    margin-bottom: .5rem !important; /* Vertical margin: 0.5rem */
}

/* Margin Utility Classes for Extra-Large Screens */

/* Margin on the Y-Axis (Vertical) */
.my-xl-3 {
    margin-top: 1rem !important;    /* Margin top */
    margin-bottom: 1rem !important; /* Margin bottom */
}
.my-xl-4 {
    margin-top: 1.5rem !important;  /* Margin top */
    margin-bottom: 1.5rem !important; /* Margin bottom */
}
.my-xl-5 {
    margin-top: 3rem !important;    /* Margin top */
    margin-bottom: 3rem !important; /* Margin bottom */
}
.my-xl-auto {
    margin-top: auto !important;     /* Automatic margin top */
    margin-bottom: auto !important;  /* Automatic margin bottom */
}

/* Margin on the Top */
.mt-xl-0 {
    margin-top: 0 !important;       /* No margin */
}
.mt-xl-1 {
    margin-top: .25rem !important;  /* Small top margin */
}
.mt-xl-2 {
    margin-top: .5rem !important;   /* Medium top margin */
}
.mt-xl-3 {
    margin-top: 1rem !important;    /* Standard top margin */
}
.mt-xl-4 {
    margin-top: 1.5rem !important;  /* Larger top margin */
}
.mt-xl-5 {
    margin-top: 3rem !important;    /* Extra large top margin */
}
.mt-xl-auto {
    margin-top: auto !important;     /* Automatic top margin */
}

/* Margin on the Right */
.me-xl-0 {
    margin-right: 0 !important;      /* No margin */
}
.me-xl-1 {
    margin-right: .25rem !important; /* Small right margin */
}
.me-xl-2 {
    margin-right: .5rem !important;  /* Medium right margin */
}
.me-xl-3 {
    margin-right: 1rem !important;   /* Standard right margin */
}
.me-xl-4 {
    margin-right: 1.5rem !important; /* Larger right margin */
}
.me-xl-5 {
    margin-right: 3rem !important;   /* Extra large right margin */
}
.me-xl-auto {
    margin-right: auto !important;    /* Automatic right margin */
}

/* Margin on the Bottom */
.mb-xl-0 {
    margin-bottom: 0 !important;      /* No margin */
}
.mb-xl-1 {
    margin-bottom: .25rem !important; /* Small bottom margin */
}
.mb-xl-2 {
    margin-bottom: .5rem !important;  /* Medium bottom margin */
}
.mb-xl-3 {
    margin-bottom: 1rem !important;   /* Standard bottom margin */
}
.mb-xl-4 {
    margin-bottom: 1.5rem !important; /* Larger bottom margin */
}
.mb-xl-5 {
    margin-bottom: 3rem !important;   /* Extra large bottom margin */
}
.mb-xl-auto {
    margin-bottom: auto !important;    /* Automatic bottom margin */
}

/* Margin on the Left */
.ms-xl-0 {
    margin-left: 0 !important;       /* No margin */
}
.ms-xl-1 {
    margin-left: .25rem !important;  /* Small left margin */
}
.ms-xl-2 {
    margin-left: .5rem !important;   /* Medium left margin */
}

/* Left Margin Utilities for Extra-Large Screens */
.ms-xl-3 {
    margin-left: 1rem !important; /* Left margin: 1rem */
}

.ms-xl-4 {
    margin-left: 1.5rem !important; /* Left margin: 1.5rem */
}

.ms-xl-5 {
    margin-left: 3rem !important; /* Left margin: 3rem */
}

.ms-xl-auto {
    margin-left: auto !important; /* Automatically adjusts left margin */
}

/* Negative Margin Utilities for Extra-Large Screens */
.m-xl-n1 {
    margin: -.25rem !important; /* Margin: -0.25rem */
}

.m-xl-n2 {
    margin: -.5rem !important; /* Margin: -0.5rem */
}

.m-xl-n3 {
    margin: -1rem !important; /* Margin: -1rem */
}

.m-xl-n4 {
    margin: -1.5rem !important; /* Margin: -1.5rem */
}

.m-xl-n5 {
    margin: -3rem !important; /* Margin: -3rem */
}

/* Negative Horizontal Margin Utilities for Extra-Large Screens */
.mx-xl-n1 {
    margin-right: -.25rem !important; /* Negative right margin: -0.25rem */
    margin-left: -.25rem !important; /* Negative left margin: -0.25rem */
}

.mx-xl-n2 {
    margin-right: -.5rem !important; /* Negative right margin: -0.5rem */
    margin-left: -.5rem !important; /* Negative left margin: -0.5rem */
}

.mx-xl-n3 {
    margin-right: -1rem !important; /* Negative right margin: -1rem */
    margin-left: -1rem !important; /* Negative left margin: -1rem */
}

.mx-xl-n4 {
    margin-right: -1.5rem !important; /* Negative right margin: -1.5rem */
    margin-left: -1.5rem !important; /* Negative left margin: -1.5rem */
}

.mx-xl-n5 {
    margin-right: -3rem !important; /* Negative right margin: -3rem */
    margin-left: -3rem !important; /* Negative left margin: -3rem */
}

/* Negative Vertical Margin Utilities for Extra-Large Screens */
.my-xl-n1 {
    margin-top: -.25rem !important; /* Negative top margin: -0.25rem */
    margin-bottom: -.25rem !important; /* Negative bottom margin: -0.25rem */
}

.my-xl-n2 {
    margin-top: -.5rem !important; /* Negative top margin: -0.5rem */
    margin-bottom: -.5rem !important; /* Negative bottom margin: -0.5rem */
}

.my-xl-n3 {
    margin-top: -1rem !important; /* Negative top margin: -1rem */
    margin-bottom: -1rem !important; /* Negative bottom margin: -1rem */
}

.my-xl-n4 {
    margin-top: -1.5rem !important; /* Negative top margin: -1.5rem */
    margin-bottom: -1.5rem !important; /* Negative bottom margin: -1.5rem */
}

.my-xl-n5 {
    margin-top: -3rem !important; /* Negative top margin: -3rem */
    margin-bottom: -3rem !important; /* Negative bottom margin: -3rem */
}

.mt-xl-n1 {
    margin-top: -.25rem !important; /* Negative top margin: -0.25rem */
}

/* Negative Margin Utility Classes for Extra-Large Screens */

/* Negative Margin on the Top */
.mt-xl-n2 {
    margin-top: -.5rem !important;   /* Negative top margin */
}
.mt-xl-n3 {
    margin-top: -1rem !important;    /* Larger negative top margin */
}
.mt-xl-n4 {
    margin-top: -1.5rem !important;  /* Even larger negative top margin */
}
.mt-xl-n5 {
    margin-top: -3rem !important;    /* Extra large negative top margin */
}

/* Negative Margin on the Right */
.me-xl-n1 {
    margin-right: -.25rem !important; /* Negative right margin */
}
.me-xl-n2 {
    margin-right: -.5rem !important;  /* Larger negative right margin */
}
.me-xl-n3 {
    margin-right: -1rem !important;   /* Even larger negative right margin */
}
.me-xl-n4 {
    margin-right: -1.5rem !important; /* Extra large negative right margin */
}
.me-xl-n5 {
    margin-right: -3rem !important;   /* Maximum negative right margin */
}

/* Negative Margin on the Bottom */
.mb-xl-n1 {
    margin-bottom: -.25rem !important; /* Negative bottom margin */
}
.mb-xl-n2 {
    margin-bottom: -.5rem !important;  /* Larger negative bottom margin */
}
.mb-xl-n3 {
    margin-bottom: -1rem !important;   /* Even larger negative bottom margin */
}
.mb-xl-n4 {
    margin-bottom: -1.5rem !important; /* Extra large negative bottom margin */
}
.mb-xl-n5 {
    margin-bottom: -3rem !important;   /* Maximum negative bottom margin */
}

/* Negative Margin on the Left */
.ms-xl-n1 {
    margin-left: -.25rem !important;   /* Negative left margin */
}
.ms-xl-n2 {
    margin-left: -.5rem !important;    /* Larger negative left margin */
}
.ms-xl-n3 {
    margin-left: -1rem !important;     /* Even larger negative left margin */
}
.ms-xl-n4 {
    margin-left: -1.5rem !important;   /* Extra large negative left margin */
}
.ms-xl-n5 {
    margin-left: -3rem !important;     /* Maximum negative left margin */
}

/* Padding Utility Classes for Extra-Large Screens */
.p-xl-0 {
    padding: 0 !important;             /* No padding */
}
.p-xl-1 {
    padding: .25rem !important;        /* Small padding */
}
.p-xl-2 {
    padding: .5rem !important;         /* Medium padding */
}
.p-xl-3 {
    padding: 1rem !important;          /* Standard padding */
}
.p-xl-4 {
    padding: 1.5rem !important;        /* Larger padding */
}
.p-xl-5 {
    padding: 3rem !important;          /* Extra large padding */
}

/* Horizontal Padding (Left and Right) */
.px-xl-0 {
    padding-right: 0 !important;      /* No right padding */
    padding-left: 0 !important;       /* No left padding */
}

/* Padding Horizontal Utilities for Extra-Large Screens */
.px-xl-1 {
    padding-right: .25rem !important; /* Right padding: 0.25rem */
    padding-left: .25rem !important; /* Left padding: 0.25rem */
}

.px-xl-2 {
    padding-right: .5rem !important; /* Right padding: 0.5rem */
    padding-left: .5rem !important; /* Left padding: 0.5rem */
}

.px-xl-3 {
    padding-right: 1rem !important; /* Right padding: 1rem */
    padding-left: 1rem !important; /* Left padding: 1rem */
}

.px-xl-4 {
    padding-right: 1.5rem !important; /* Right padding: 1.5rem */
    padding-left: 1.5rem !important; /* Left padding: 1.5rem */
}

.px-xl-5 {
    padding-right: 3rem !important; /* Right padding: 3rem */
    padding-left: 3rem !important; /* Left padding: 3rem */
}

/* Padding Vertical Utilities for Extra-Large Screens */
.py-xl-0 {
    padding-top: 0 !important; /* No top padding */
    padding-bottom: 0 !important; /* No bottom padding */
}

.py-xl-1 {
    padding-top: .25rem !important; /* Top padding: 0.25rem */
    padding-bottom: .25rem !important; /* Bottom padding: 0.25rem */
}

.py-xl-2 {
    padding-top: .5rem !important; /* Top padding: 0.5rem */
    padding-bottom: .5rem !important; /* Bottom padding: 0.5rem */
}

.py-xl-3 {
    padding-top: 1rem !important; /* Top padding: 1rem */
    padding-bottom: 1rem !important; /* Bottom padding: 1rem */
}

.py-xl-4 {
    padding-top: 1.5rem !important; /* Top padding: 1.5rem */
    padding-bottom: 1.5rem !important; /* Bottom padding: 1.5rem */
}

.py-xl-5 {
    padding-top: 3rem !important; /* Top padding: 3rem */
    padding-bottom: 3rem !important; /* Bottom padding: 3rem */
}

/* Padding Top Utilities for Extra-Large Screens */
.pt-xl-0 {
    padding-top: 0 !important; /* No top padding */
}

.pt-xl-1 {
    padding-top: .25rem !important; /* Top padding: 0.25rem */
}

.pt-xl-2 {
    padding-top: .5rem !important; /* Top padding: 0.5rem */
}

.pt-xl-3 {
    padding-top: 1rem !important; /* Top padding: 1rem */
}

.pt-xl-4 {
    padding-top: 1.5rem !important; /* Top padding: 1.5rem */
}

.pt-xl-5 {
    padding-top: 3rem !important; /* Top padding: 3rem */
}

/* Padding Right Utilities for Extra-Large Screens */
.pe-xl-0 {
    padding-right: 0 !important; /* No right padding */
}

.pe-xl-1 {
    padding-right: .25rem !important; /* Right padding: 0.25rem */
}

.pe-xl-2 {
    padding-right: .5rem !important; /* Right padding: 0.5rem */
}

.pe-xl-3 {
    padding-right: 1rem !important; /* Right padding: 1rem */
}

.pe-xl-4 {
    padding-right: 1.5rem !important; /* Right padding: 1.5rem */
}

/* Padding Utility Classes for Extra-Extra-Large Screens */

/* Padding on the Right */
.pe-xl-5 {
    padding-right: 3rem !important;   /* Extra large right padding */
}

/* Padding on the Bottom */
.pb-xl-0 {
    padding-bottom: 0 !important;      /* No bottom padding */
}
.pb-xl-1 {
    padding-bottom: .25rem !important; /* Small bottom padding */
}
.pb-xl-2 {
    padding-bottom: .5rem !important;  /* Medium bottom padding */
}
.pb-xl-3 {
    padding-bottom: 1rem !important;   /* Standard bottom padding */
}
.pb-xl-4 {
    padding-bottom: 1.5rem !important; /* Larger bottom padding */
}
.pb-xl-5 {
    padding-bottom: 3rem !important;   /* Extra large bottom padding */
}

/* Padding on the Left */
.ps-xl-0 {
    padding-left: 0 !important;        /* No left padding */
}
.ps-xl-1 {
    padding-left: .25rem !important;   /* Small left padding */
}
.ps-xl-2 {
    padding-left: .5rem !important;    /* Medium left padding */
}
.ps-xl-3 {
    padding-left: 1rem !important;     /* Standard left padding */
}
.ps-xl-4 {
    padding-left: 1.5rem !important;   /* Larger left padding */
}
.ps-xl-5 {
    padding-left: 3rem !important;     /* Extra large left padding */
}

/* Text Alignment Classes for Extra-Extra-Large Screens */
.text-xl-start {
    text-align: left !important;       /* Align text to the left */
}
.text-xl-end {
    text-align: right !important;      /* Align text to the right */
}
.text-xl-center {
    text-align: center !important;     /* Center align text */
}

/* Media Query for Extra-Extra-Large Screens (min-width: 1400px) */
@media (min-width: 1400px) {
    /* Float Utility Classes */
    .float-xxl-start {
        float: left !important;        /* Float element to the left */
    }
    .float-xxl-end {
        float: right !important;       /* Float element to the right */
    }
    .float-xxl-none {
        float: none !important;        /* No float */
    }

    /* Display Utility Classes */
    .d-xxl-inline {
        display: inline !important;    /* Inline display */
    }
    .d-xxl-inline-block {
        display: inline-block !important; /* Inline-block display */
    }
    .d-xxl-block {
        display: block !important;      /* Block display */
    }
    .d-xxl-grid {
        display: grid !important;       /* Grid display */
    }
    .d-xxl-table {
        display: table !important;      /* Table display */
    }
    .d-xxl-table-row {
        display: table-row !important;  /* Table row display */
    }
    .d-xxl-table-cell {
        display: table-cell !important;  /* Table cell display */
    }
    .d-xxl-flex {
        display: flex !important;        /* Flex display */
    }
    .d-xxl-inline-flex {
        display: inline-flex !important; /* Inline flex display */
    }
    .d-xxl-none {
        display: none !important;        /* No display */
    }

    /* Flex Utility Classes */
    .flex-xxl-fill {
        flex: 1 1 auto !important;      /* Flex fill */
    }
    .flex-xxl-row {
        flex-direction: row !important; /* Flex row direction */
    }
    .flex-xxl-column {
        flex-direction: column !important; /* Flex column direction */
    }
    .flex-xxl-row-reverse {
        flex-direction: row-reverse !important; /* Flex row reverse direction */
    }
    .flex-xxl-column-reverse {
        flex-direction: column-reverse !important; /* Flex column reverse direction */
    }
    .flex-xxl-grow-0 {
        flex-grow: 0 !important;         /* Disable growth */
    }
    .flex-xxl-grow-1 {
        flex-grow: 1 !important;         /* Enable growth */
    }
    .flex-xxl-shrink-0 {
        flex-shrink: 0 !important;       /* Disable shrinking */
    }
    .flex-xxl-shrink-1 {
        flex-shrink: 1 !important;       /* Enable shrinking */
    }
    .flex-xxl-wrap {
        flex-wrap: wrap !important;      /* Enable wrapping */
    }
    .flex-xxl-nowrap {
        flex-wrap: nowrap !important;    /* Disable wrapping */
    }
    .flex-xxl-wrap-reverse {
        flex-wrap: wrap-reverse !important; /* Reverse wrapping */
    }

    /* Gap Utility Classes */
    .gap-xxl-0 {
        gap: 0 !important;               /* No gap */
    }
    .gap-xxl-1 {
        gap: .25rem !important;          /* Small gap */
    }
    .gap-xxl-2 {
        gap: .5rem !important;           /* Medium gap */
    }
    .gap-xxl-3 {
        gap: 1rem !important;            /* Standard gap */
    }
    .gap-xxl-4 {
        gap: 1.5rem !important;          /* Larger gap */
    }
}

/* Gap Utility Class for Extra-Extra-Large Screens */
.gap-xxl-5 {
    gap: 3rem !important;               /* Extra large gap between flex items */
}

/* Justification Classes for Extra-Extra-Large Screens */
.justify-content-xxl-start {
    justify-content: flex-start !important; /* Align items to the start */
}
.justify-content-xxl-end {
    justify-content: flex-end !important;   /* Align items to the end */
}
.justify-content-xxl-center {
    justify-content: center !important;     /* Center align items */
}
.justify-content-xxl-between {
    justify-content: space-between !important; /* Space items evenly with space between */
}
.justify-content-xxl-around {
    justify-content: space-around !important; /* Space items evenly with space around */
}
.justify-content-xxl-evenly {
    justify-content: space-evenly !important; /* Space items evenly with equal space around */
}

/* Alignment Classes for Extra-Extra-Large Screens */
.align-items-xxl-start {
    align-items: flex-start !important;    /* Align items to the start */
}
.align-items-xxl-end {
    align-items: flex-end !important;      /* Align items to the end */
}
.align-items-xxl-center {
    align-items: center !important;        /* Center align items */
}
.align-items-xxl-baseline {
    align-items: baseline !important;      /* Align items to their baseline */
}
.align-items-xxl-stretch {
    align-items: stretch !important;       /* Stretch items to fill the container */
}

/* Alignment Content Classes for Extra-Extra-Large Screens */
.align-content-xxl-start {
    align-content: flex-start !important;  /* Align content to the start */
}
.align-content-xxl-end {
    align-content: flex-end !important;    /* Align content to the end */
}
.align-content-xxl-center {
    align-content: center !important;      /* Center align content */
}
.align-content-xxl-between {
    align-content: space-between !important; /* Space content evenly with space between */
}
.align-content-xxl-around {
    align-content: space-around !important; /* Space content evenly with space around */
}
.align-content-xxl-stretch {
    align-content: stretch !important;     /* Stretch content to fill the container */
}

/* Self Alignment Classes for Extra-Extra-Large Screens */
.align-self-xxl-auto {
    align-self: auto !important;           /* Auto alignment for individual items */
}
.align-self-xxl-start {
    align-self: flex-start !important;     /* Align individual item to the start */
}
.align-self-xxl-end {
    align-self: flex-end !important;       /* Align individual item to the end */
}

/* Alignment Utilities for Extra-Extra-Large Screens */
.align-self-xxl-center {
    align-self: center !important; /* Center alignment */
}

.align-self-xxl-baseline {
    align-self: baseline !important; /* Align to baseline */
}

.align-self-xxl-stretch {
    align-self: stretch !important; /* Stretch to fill container */
}

/* Order Utilities for Extra-Extra-Large Screens */
.order-xxl-first {
    order: -1 !important; /* First order */
}

.order-xxl-0 {
    order: 0 !important; /* Default order */
}

.order-xxl-1 {
    order: 1 !important; /* Second order */
}

.order-xxl-2 {
    order: 2 !important; /* Third order */
}

.order-xxl-3 {
    order: 3 !important; /* Fourth order */
}

.order-xxl-4 {
    order: 4 !important; /* Fifth order */
}

.order-xxl-5 {
    order: 5 !important; /* Sixth order */
}

.order-xxl-last {
    order: 6 !important; /* Last order */
}

/* Margin Utilities for Extra-Extra-Large Screens */
.m-xxl-0 {
    margin: 0 !important; /* No margin */
}

.m-xxl-1 {
    margin: .25rem !important; /* Margin: 0.25rem */
}

.m-xxl-2 {
    margin: .5rem !important; /* Margin: 0.5rem */
}

.m-xxl-3 {
    margin: 1rem !important; /* Margin: 1rem */
}

.m-xxl-4 {
    margin: 1.5rem !important; /* Margin: 1.5rem */
}

.m-xxl-5 {
    margin: 3rem !important; /* Margin: 3rem */
}

.m-xxl-auto {
    margin: auto !important; /* Auto margin */
}

/* Margin Horizontal Utilities for Extra-Extra-Large Screens */
.mx-xxl-0 {
    margin-right: 0 !important; /* No right margin */
    margin-left: 0 !important; /* No left margin */
}

.mx-xxl-1 {
    margin-right: .25rem !important; /* Right margin: 0.25rem */
    margin-left: .25rem !important; /* Left margin: 0.25rem */
}

.mx-xxl-2 {
    margin-right: .5rem !important; /* Right margin: 0.5rem */
    margin-left: .5rem !important; /* Left margin: 0.5rem */
}

.mx-xxl-3 {
    margin-right: 1rem !important; /* Right margin: 1rem */
    margin-left: 1rem !important; /* Left margin: 1rem */
}

.mx-xxl-4 {
    margin-right: 1.5rem !important; /* Right margin: 1.5rem */
    margin-left: 1.5rem !important; /* Left margin: 1.5rem */
}

.mx-xxl-5 {
    margin-right: 3rem !important; /* Right margin: 3rem */
    margin-left: 3rem !important; /* Left margin: 3rem */
}

.mx-xxl-auto {
    margin-right: auto !important; /* Auto right margin */
    margin-left: auto !important; /* Auto left margin */
}

/* Margin Utility Classes for Extra-Extra-Large Screens */
.my-xxl-0 {
    margin-top: 0 !important;            /* No vertical margin */
    margin-bottom: 0 !important;         /* No vertical margin */
}
.my-xxl-1 {
    margin-top: .25rem !important;       /* Small vertical margin */
    margin-bottom: .25rem !important;    /* Small vertical margin */
}
.my-xxl-2 {
    margin-top: .5rem !important;        /* Medium vertical margin */
    margin-bottom: .5rem !important;     /* Medium vertical margin */
}
.my-xxl-3 {
    margin-top: 1rem !important;         /* Large vertical margin */
    margin-bottom: 1rem !important;      /* Large vertical margin */
}
.my-xxl-4 {
    margin-top: 1.5rem !important;       /* Larger vertical margin */
    margin-bottom: 1.5rem !important;    /* Larger vertical margin */
}
.my-xxl-5 {
    margin-top: 3rem !important;         /* Extra large vertical margin */
    margin-bottom: 3rem !important;      /* Extra large vertical margin */
}
.my-xxl-auto {
    margin-top: auto !important;          /* Auto vertical margin */
    margin-bottom: auto !important;       /* Auto vertical margin */
}

/* Top Margin Utility Classes for Extra-Extra-Large Screens */
.mt-xxl-0 {
    margin-top: 0 !important;            /* No top margin */
}
.mt-xxl-1 {
    margin-top: .25rem !important;       /* Small top margin */
}
.mt-xxl-2 {
    margin-top: .5rem !important;        /* Medium top margin */
}
.mt-xxl-3 {
    margin-top: 1rem !important;         /* Large top margin */
}
.mt-xxl-4 {
    margin-top: 1.5rem !important;       /* Larger top margin */
}
.mt-xxl-5 {
    margin-top: 3rem !important;         /* Extra large top margin */
}
.mt-xxl-auto {
    margin-top: auto !important;          /* Auto top margin */
}

/* Right Margin Utility Classes for Extra-Extra-Large Screens */
.me-xxl-0 {
    margin-right: 0 !important;          /* No right margin */
}
.me-xxl-1 {
    margin-right: .25rem !important;     /* Small right margin */
}
.me-xxl-2 {
    margin-right: .5rem !important;      /* Medium right margin */
}
.me-xxl-3 {
    margin-right: 1rem !important;       /* Large right margin */
}
.me-xxl-4 {
    margin-right: 1.5rem !important;     /* Larger right margin */
}
.me-xxl-5 {
    margin-right: 3rem !important;       /* Extra large right margin */
}

/* Margin Right Utilities for Extra-Extra-Large Screens */
.me-xxl-auto {
    margin-right: auto !important; /* Auto right margin */
}

/* Margin Bottom Utilities for Extra-Extra-Large Screens */
.mb-xxl-0 {
    margin-bottom: 0 !important; /* No bottom margin */
}

.mb-xxl-1 {
    margin-bottom: .25rem !important; /* Bottom margin: 0.25rem */
}

.mb-xxl-2 {
    margin-bottom: .5rem !important; /* Bottom margin: 0.5rem */
}

.mb-xxl-3 {
    margin-bottom: 1rem !important; /* Bottom margin: 1rem */
}

.mb-xxl-4 {
    margin-bottom: 1.5rem !important; /* Bottom margin: 1.5rem */
}

.mb-xxl-5 {
    margin-bottom: 3rem !important; /* Bottom margin: 3rem */
}

.mb-xxl-auto {
    margin-bottom: auto !important; /* Auto bottom margin */
}

/* Margin Left Utilities for Extra-Extra-Large Screens */
.ms-xxl-0 {
    margin-left: 0 !important; /* No left margin */
}

.ms-xxl-1 {
    margin-left: .25rem !important; /* Left margin: 0.25rem */
}

.ms-xxl-2 {
    margin-left: .5rem !important; /* Left margin: 0.5rem */
}

.ms-xxl-3 {
    margin-left: 1rem !important; /* Left margin: 1rem */
}

.ms-xxl-4 {
    margin-left: 1.5rem !important; /* Left margin: 1.5rem */
}

.ms-xxl-5 {
    margin-left: 3rem !important; /* Left margin: 3rem */
}

.ms-xxl-auto {
    margin-left: auto !important; /* Auto left margin */
}

/* Negative Margin Utilities for Extra-Extra-Large Screens */
.m-xxl-n1 {
    margin: -.25rem !important; /* Negative margin: -0.25rem */
}

.m-xxl-n2 {
    margin: -.5rem !important; /* Negative margin: -0.5rem */
}

/* Negative Margin Utility Classes for Extra-Extra-Large Screens */
.m-xxl-n3 {
    margin: -1rem !important;            /* Negative margin: 1rem on all sides */
}
.m-xxl-n4 {
    margin: -1.5rem !important;          /* Negative margin: 1.5rem on all sides */
}
.m-xxl-n5 {
    margin: -3rem !important;            /* Negative margin: 3rem on all sides */
}

/* Horizontal Negative Margin Utility Classes for Extra-Extra-Large Screens */
.mx-xxl-n1 {
    margin-right: -0.25rem !important;   /* Negative right margin: 0.25rem */
    margin-left: -0.25rem !important;    /* Negative left margin: 0.25rem */
}
.mx-xxl-n2 {
    margin-right: -0.5rem !important;    /* Negative right margin: 0.5rem */
    margin-left: -0.5rem !important;     /* Negative left margin: 0.5rem */
}
.mx-xxl-n3 {
    margin-right: -1rem !important;      /* Negative right margin: 1rem */
    margin-left: -1rem !important;       /* Negative left margin: 1rem */
}
.mx-xxl-n4 {
    margin-right: -1.5rem !important;    /* Negative right margin: 1.5rem */
    margin-left: -1.5rem !important;     /* Negative left margin: 1.5rem */
}
.mx-xxl-n5 {
    margin-right: -3rem !important;      /* Negative right margin: 3rem */
    margin-left: -3rem !important;       /* Negative left margin: 3rem */
}

/* Vertical Negative Margin Utility Classes for Extra-Extra-Large Screens */
.my-xxl-n1 {
    margin-top: -0.25rem !important;     /* Negative top margin: 0.25rem */
    margin-bottom: -0.25rem !important;  /* Negative bottom margin: 0.25rem */
}
.my-xxl-n2 {
    margin-top: -0.5rem !important;      /* Negative top margin: 0.5rem */
    margin-bottom: -0.5rem !important;   /* Negative bottom margin: 0.5rem */
}
.my-xxl-n3 {
    margin-top: -1rem !important;        /* Negative top margin: 1rem */
    margin-bottom: -1rem !important;     /* Negative bottom margin: 1rem */
}
.my-xxl-n4 {
    margin-top: -1.5rem !important;      /* Negative top margin: 1.5rem */
    margin-bottom: -1.5rem !important;   /* Negative bottom margin: 1.5rem */
}
.my-xxl-n5 {
    margin-top: -3rem !important;        /* Negative top margin: 3rem */
    margin-bottom: -3rem !important;     /* Negative bottom margin: 3rem */
}

/* Negative Top Margin Utility Classes for Extra-Extra-Large Screens */
.mt-xxl-n1 {
    margin-top: -0.25rem !important;     /* Negative top margin: 0.25rem */
}
.mt-xxl-n2 {
    margin-top: -0.5rem !important;      /* Negative top margin: 0.5rem */
}
.mt-xxl-n3 {
    margin-top: -1rem !important;        /* Negative top margin: 1rem */
}
.mt-xxl-n4 {
    margin-top: -1.5rem !important;      /* Negative top margin: 1.5rem */
}
.mt-xxl-n5 {
    margin-top: -3rem !important;        /* Negative top margin: 3rem */
}

/* Negative Right Margin Utility Classes for Extra-Extra-Large Screens */
.me-xxl-n1 {
    margin-right: -0.25rem !important;   /* Negative right margin: 0.25rem */
}

/* Negative Margin Right Utilities for Extra-Extra-Large Screens */
.me-xxl-n2 { margin-right: -0.5rem !important; } /* Negative right margin: -0.5rem */
.me-xxl-n3 { margin-right: -1rem !important; } /* Negative right margin: -1rem */
.me-xxl-n4 { margin-right: -1.5rem !important; } /* Negative right margin: -1.5rem */
.me-xxl-n5 { margin-right: -3rem !important; } /* Negative right margin: -3rem */

/* Negative Margin Bottom Utilities for Extra-Extra-Large Screens */
.mb-xxl-n1 { margin-bottom: -0.25rem !important; } /* Negative bottom margin: -0.25rem */
.mb-xxl-n2 { margin-bottom: -0.5rem !important; } /* Negative bottom margin: -0.5rem */
.mb-xxl-n3 { margin-bottom: -1rem !important; } /* Negative bottom margin: -1rem */
.mb-xxl-n4 { margin-bottom: -1.5rem !important; } /* Negative bottom margin: -1.5rem */
.mb-xxl-n5 { margin-bottom: -3rem !important; } /* Negative bottom margin: -3rem */

/* Negative Margin Left Utilities for Extra-Extra-Large Screens */
.ms-xxl-n1 { margin-left: -0.25rem !important; } /* Negative left margin: -0.25rem */
.ms-xxl-n2 { margin-left: -0.5rem !important; } /* Negative left margin: -0.5rem */
/* Negative Left Margin Utility Classes for Extra-Extra-Large Screens */
.ms-xxl-n3 {
    margin-left: -1rem !important;      /* Negative left margin: 1rem */
}
.ms-xxl-n4 {
    margin-left: -1.5rem !important;    /* Negative left margin: 1.5rem */
}
.ms-xxl-n5 {
    margin-left: -3rem !important;      /* Negative left margin: 3rem */
}

/* Padding Utility Classes for Extra-Extra-Large Screens */
.p-xxl-0 {
    padding: 0 !important;              /* No padding */
}
.p-xxl-1 {
    padding: 0.25rem !important;        /* Padding: 0.25rem */
}
.p-xxl-2 {
    padding: 0.5rem !important;         /* Padding: 0.5rem */
}
.p-xxl-3 {
    padding: 1rem !important;           /* Padding: 1rem */
}
.p-xxl-4 {
    padding: 1.5rem !important;         /* Padding: 1.5rem */
}
.p-xxl-5 {
    padding: 3rem !important;           /* Padding: 3rem */
}

/* Horizontal Padding (left and right) Utility Classes for Extra-Extra-Large Screens */
.px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;         /* No horizontal padding */
}
.px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;   /* Horizontal padding: 0.25rem */
}
.px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;    /* Horizontal padding: 0.5rem */
}
.px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;      /* Horizontal padding: 1rem */
}
.px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;    /* Horizontal padding: 1.5rem */
}
.px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;      /* Horizontal padding: 3rem */
}

/* Vertical Padding (top and bottom) Utility Classes for Extra-Extra-Large Screens */
.py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;       /* No vertical padding */
}
.py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important; /* Vertical padding: 0.25rem */
}
.py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;  /* Vertical padding: 0.5rem */
}
.py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;    /* Vertical padding: 1rem */
}
.py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;  /* Vertical padding: 1.5rem */
}
.py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;    /* Vertical padding: 3rem */
}

/* Top Padding Utility Classes for Extra-Extra-Large Screens */
.pt-xxl-0 {
    padding-top: 0 !important;          /* No top padding */
}
.pt-xxl-1 {
    padding-top: 0.25rem !important;    /* Top padding: 0.25rem */
}
.pt-xxl-2 {
    padding-top: 0.5rem !important;     /* Top padding: 0.5rem */
}
.pt-xxl-3 {
    padding-top: 1rem !important;       /* Top padding: 1rem */
}
.pt-xxl-4 {
    padding-top: 1.5rem !important;     /* Top padding: 1.5rem */
}
.pt-xxl-5 {
    padding-top: 3rem !important;       /* Top padding: 3rem */
}

/* Right Padding Utility Classes for Extra-Extra-Large Screens */
.pe-xxl-0 {
    padding-right: 0 !important;        /* No right padding */
}
.pe-xxl-1 {
    padding-right: 0.25rem !important;  /* Right padding: 0.25rem */
}
.pe-xxl-2 {
    padding-right: 0.5rem !important;   /* Right padding: 0.5rem */
}
.pe-xxl-3 {
    padding-right: 1rem !important;     /* Right padding: 1rem */
}
.pe-xxl-4 {
    padding-right: 1.5rem !important;   /* Right padding: 1.5rem */
}
.pe-xxl-5 {
    padding-right: 3rem !important;     /* Right padding: 3rem */
}

/* Bottom Padding Utility Classes for Extra-Extra-Large Screens */
.pb-xxl-0 {
    padding-bottom: 0 !important;       /* No bottom padding */
}
.pb-xxl-1 {
    padding-bottom: 0.25rem !important; /* Bottom padding: 0.25rem */
}
.pb-xxl-2 {
    padding-bottom: 0.5rem !important;  /* Bottom padding: 0.5rem */
}
.pb-xxl-3 {
    padding-bottom: 1rem !important;    /* Bottom padding: 1rem */
}
.pb-xxl-4 {
    padding-bottom: 1.5rem !important;  /* Bottom padding: 1.5rem */
}
.pb-xxl-5 {
    padding-bottom: 3rem !important;    /* Bottom padding: 3rem */
}

/* Left Padding Utility Classes for Extra-Extra-Large Screens */
.ps-xxl-0 {
    padding-left: 0 !important;         /* No left padding */
}
.ps-xxl-1 {
    padding-left: 0.25rem !important;   /* Left padding: 0.25rem */
}
.ps-xxl-2 {
    padding-left: 0.5rem !important;    /* Left padding: 0.5rem */
}
.ps-xxl-3 {
    padding-left: 1rem !important;      /* Left padding: 1rem */
}
.ps-xxl-4 {
    padding-left: 1.5rem !important;    /* Left padding: 1.5rem */
}
.ps-xxl-5 {
    padding-left: 3rem !important;      /* Left padding: 3rem */
}

/* Text Alignment Utility Classes for Extra-Extra-Large Screens */
.text-xxl-start {
    text-align: left !important;        /* Align text to the left */
}
.text-xxl-end {
    text-align: right !important;       /* Align text to the right */
}
.text-xxl-center {
    text-align: center !important;      /* Center align text */
}

/* Font Size Utility Classes for screens wider than 1200px */
@media (min-width: 1200px) {
    .fs-1 {
        font-size: 2.5rem !important;   /* Font size: 2.5rem */
    }
    .fs-2 {
        font-size: 2rem !important;     /* Font size: 2rem */
    }
    .fs-3 {
        font-size: 1.75rem !important;  /* Font size: 1.75rem */
    }
    .fs-4 {
        font-size: 1.5rem !important;   /* Font size: 1.5rem */
    }
}

/* Print Utility Classes */
@media print {
    .d-print-inline {
        display: inline !important;       /* Inline display for print */
    }
    .d-print-inline-block {
        display: inline-block !important; /* Inline-block display for print */
    }
    .d-print-block {
        display: block !important;        /* Block display for print */
    }
    .d-print-grid {
        display: grid !important;         /* Grid display for print */
    }
    .d-print-table {
        display: table !important;        /* Table display for print */
    }
    .d-print-table-row {
        display: table-row !important;    /* Table-row display for print */
    }
    .d-print-table-cell {
        display: table-cell !important;   /* Table-cell display for print */
    }
    .d-print-flex {
        display: flex !important;         /* Flex display for print */
    }
    .d-print-inline-flex {
        display: inline-flex !important;  /* Inline-flex display for print */
    }
    .d-print-none {
        display: none !important;         /* No display for print */
    }
}
